2018-10-29 10:53:22 +01:00
|
|
|
import {assert} from "chai"
|
|
|
|
import DIDRegistry from "../../src/keeper/contracts/DIDRegistry"
|
|
|
|
import Account from "../../src/ocean/Account"
|
2019-03-19 13:01:28 +01:00
|
|
|
import { Ocean } from "../../src/ocean/Ocean"
|
2019-02-21 18:14:07 +01:00
|
|
|
import { generateId } from "../../src/utils/GeneratorHelpers"
|
2018-10-29 10:53:22 +01:00
|
|
|
import config from "../config"
|
2018-11-07 14:33:56 +01:00
|
|
|
import TestContractHandler from "./TestContractHandler"
|
2018-10-29 10:53:22 +01:00
|
|
|
|
|
|
|
let ocean: Ocean
|
|
|
|
let didRegistry: DIDRegistry
|
|
|
|
|
|
|
|
describe("DIDRegistry", () => {
|
|
|
|
|
|
|
|
before(async () => {
|
2018-11-07 14:33:56 +01:00
|
|
|
await TestContractHandler.prepareContracts()
|
2018-10-29 10:53:22 +01:00
|
|
|
ocean = await Ocean.getInstance(config)
|
2019-03-21 02:56:58 +01:00
|
|
|
didRegistry = ocean.keeper.didRegistry
|
2018-10-29 10:53:22 +01:00
|
|
|
})
|
|
|
|
|
|
|
|
describe("#registerAttribute()", () => {
|
|
|
|
|
|
|
|
it("should register an attribute in a new did", async () => {
|
2019-03-21 02:56:58 +01:00
|
|
|
const ownerAccount: Account = (await ocean.accounts.list())[0]
|
2019-02-14 12:37:52 +01:00
|
|
|
const did = generateId()
|
2018-10-29 10:53:22 +01:00
|
|
|
const data = "my nice provider, is nice"
|
2019-03-25 13:47:21 +01:00
|
|
|
const receipt = await didRegistry.registerAttribute(did, `0123456789abcdef`, [], data, ownerAccount.getId())
|
2018-10-29 10:53:22 +01:00
|
|
|
assert(receipt.status)
|
|
|
|
assert(receipt.events.DIDAttributeRegistered)
|
|
|
|
})
|
|
|
|
|
|
|
|
it("should register another attribute in the same did", async () => {
|
2019-03-21 02:56:58 +01:00
|
|
|
const ownerAccount: Account = (await ocean.accounts.list())[0]
|
2019-02-14 12:37:52 +01:00
|
|
|
const did = generateId()
|
2018-10-29 10:53:22 +01:00
|
|
|
{
|
|
|
|
// register the first attribute
|
|
|
|
const data = "my nice provider, is nice"
|
2019-03-25 13:47:21 +01:00
|
|
|
await didRegistry.registerAttribute(did, "0123456789abcdef", [], data, ownerAccount.getId())
|
2018-10-29 10:53:22 +01:00
|
|
|
}
|
|
|
|
{
|
|
|
|
// register the second attribute with the same did
|
|
|
|
const data = "asdsad"
|
2019-03-25 13:47:21 +01:00
|
|
|
const receipt = await didRegistry.registerAttribute(did, "0123456789abcdef", [], data, ownerAccount.getId())
|
2019-04-01 12:40:45 +02:00
|
|
|
assert.isTrue(receipt.status)
|
|
|
|
assert.isDefined(receipt.events.DIDAttributeRegistered)
|
2018-10-29 10:53:22 +01:00
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
2019-04-01 12:40:45 +02:00
|
|
|
describe("#getDIDOwner()", () => {
|
|
|
|
it("should get the owner of a did properly", async () => {
|
|
|
|
const ownerAccount: Account = (await ocean.accounts.list())[0]
|
|
|
|
const did = generateId()
|
|
|
|
const data = "my nice provider, is nice"
|
|
|
|
await didRegistry.registerAttribute(did, "0123456789abcdef", [], data, ownerAccount.getId())
|
2018-10-29 10:53:22 +01:00
|
|
|
|
2019-04-01 12:40:45 +02:00
|
|
|
const owner = await didRegistry.getDIDOwner(did)
|
2018-10-29 10:53:22 +01:00
|
|
|
|
2019-04-01 12:40:45 +02:00
|
|
|
assert.equal(owner, ownerAccount.getId(), `Got ${owner} but expected ${ownerAccount.getId()}`)
|
|
|
|
})
|
2018-10-29 10:53:22 +01:00
|
|
|
|
2019-04-01 12:40:45 +02:00
|
|
|
it("should get 0x0 for a not registered did", async () => {
|
|
|
|
const owner = await didRegistry.getDIDOwner("1234")
|
|
|
|
assert.equal(owner, `0x${"0".repeat(40)}`)
|
|
|
|
})
|
|
|
|
})
|
2018-10-29 10:53:22 +01:00
|
|
|
})
|