1
0
mirror of https://github.com/oceanprotocol-archive/squid-js.git synced 2024-02-02 15:31:51 +01:00

Added tests on Conditions

This commit is contained in:
Pedro Gutiérrez 2019-03-06 15:58:15 +01:00 committed by Pedro Gutiérrez
parent ef20a2934d
commit 3a5fba6e21
4 changed files with 127 additions and 1 deletions

View File

@ -8,7 +8,7 @@ export class AccessSecretStoreCondition extends Condition {
}
hashValues(did: string, grantee: string) {
return super.hashValues(did, zeroX(grantee))
return super.hashValues(zeroX(did), zeroX(grantee))
}
fulfill(agreementId: string, did: string, grantee: string, from?: string) {

View File

@ -0,0 +1,40 @@
import {assert} from "chai"
import ConfigProvider from "../../../src/ConfigProvider"
import { AccessSecretStoreCondition } from "../../../src/keeper/contracts/conditions"
import Keeper from "../../../src/keeper/Keeper"
import config from "../../config"
import TestContractHandler from "../TestContractHandler"
let condition: AccessSecretStoreCondition
describe("AccessSecretStoreCondition", () => {
const agreementId = `0x${"a".repeat(64)}`
const did = `0x${"a".repeat(64)}`
const address = `0x${"a".repeat(40)}`
before(async () => {
ConfigProvider.setConfig(config)
await TestContractHandler.prepareContracts()
condition = (await Keeper.getInstance()).conditions.accessSecretStoreCondition
})
describe("#hashValues()", () => {
it("should hash the values", async () => {
const hash = await condition.hashValues(did, address)
assert.match(hash, /^0x[a-f0-9]{64}$/i)
assert.equal(hash, "0x1abbd7e58bc32bff739ee1e756a4108882322f2ec939d5e2f251e6b8424947fb", "The hash is not the expected.")
})
})
describe("#generateId()", () => {
it("should generate an ID", async () => {
const hash = await condition.hashValues(did, address)
const id = await condition.generateId(agreementId, hash)
assert.match(id, /^0x[a-f0-9]{64}$/i)
})
})
})

View File

@ -0,0 +1,46 @@
import {assert} from "chai"
import ConfigProvider from "../../../src/ConfigProvider"
import { EscrowReward } from "../../../src/keeper/contracts/conditions"
import Keeper from "../../../src/keeper/Keeper"
import config from "../../config"
import TestContractHandler from "../TestContractHandler"
let condition: EscrowReward
describe("EscrowReward", () => {
const agreementId = `0x${"a".repeat(64)}`
const did = `0x${"a".repeat(64)}`
const amount = 15
const publisher = `0x${"a".repeat(40)}`
const consumer = `0x${"b".repeat(40)}`
let lockCondition
let releaseCondition
before(async () => {
ConfigProvider.setConfig(config)
await TestContractHandler.prepareContracts()
const keeper = await Keeper.getInstance()
condition = keeper.conditions.escrowReward
lockCondition = await keeper.conditions.lockRewardCondition.generateIdHash(agreementId, publisher, amount)
releaseCondition = await keeper.conditions.accessSecretStoreCondition.generateIdHash(agreementId, did, consumer)
})
describe("#hashValues()", () => {
it("should hash the values", async () => {
const hash = await condition.hashValues(amount, consumer, publisher, lockCondition, releaseCondition)
assert.match(hash, /^0x[a-f0-9]{64}$/i)
})
})
describe("#generateId()", () => {
it("should generate an ID", async () => {
const hash = await condition.hashValues(amount, consumer, publisher, lockCondition, releaseCondition)
const id = await condition.generateId(agreementId, hash)
assert.match(id, /^0x[a-f0-9]{64}$/i)
})
})
})

View File

@ -0,0 +1,40 @@
import {assert} from "chai"
import ConfigProvider from "../../../src/ConfigProvider"
import { LockRewardCondition } from "../../../src/keeper/contracts/conditions"
import Keeper from "../../../src/keeper/Keeper"
import config from "../../config"
import TestContractHandler from "../TestContractHandler"
let condition: LockRewardCondition
describe("LockRewardCondition", () => {
const agreementId = `0x${"a".repeat(64)}`
const address = `0x${"a".repeat(40)}`
const amount = 15
before(async () => {
ConfigProvider.setConfig(config)
await TestContractHandler.prepareContracts()
condition = (await Keeper.getInstance()).conditions.lockRewardCondition
})
describe("#hashValues()", () => {
it("should hash the values", async () => {
const hash = await condition.hashValues(address, amount)
assert.match(hash, /^0x[a-f0-9]{64}$/i)
assert.equal(hash, "0x2543c2ea4b9403bb3e5df1145c70731454748e72a37acc80d025f85e03267973", "The hash is not the expected.")
})
})
describe("#generateId()", () => {
it("should generate an ID", async () => {
const hash = await condition.hashValues(address, amount)
const id = await condition.generateId(agreementId, hash)
assert.match(id, /^0x[a-f0-9]{64}$/i)
})
})
})