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

127 lines
3.6 KiB
TypeScript
Raw Normal View History

2018-10-26 10:40:46 +02:00
import * as assert from "assert"
import Aquarius from "../../src/aquarius/Aquarius"
2018-11-01 12:47:48 +01:00
import SearchQuery from "../../src/aquarius/query/SearchQuery"
import DDO from "../../src/ddo/DDO"
import IdGenerator from "../../src/ocean/IdGenerator"
2018-11-19 12:16:11 +01:00
import WebServiceConnectorProvider from "../../src/utils/WebServiceConnectorProvider"
2018-10-26 10:40:46 +02:00
import config from "../config"
2018-11-19 12:16:11 +01:00
import WebServiceConnectorMock from "../mocks/WebServiceConnector.mock"
2018-10-26 10:40:46 +02:00
2018-10-26 11:57:26 +02:00
describe("Aquarius", () => {
2018-10-26 10:40:46 +02:00
2018-11-01 12:47:48 +01:00
const aquarius: Aquarius = new Aquarius(config)
2018-10-26 13:37:09 +02:00
describe("#queryMetadata()", () => {
2018-10-26 10:40:46 +02:00
const query = {
offset: 100,
page: 0,
query: {
value: 1,
},
sort: {
value: 1,
},
text: "Office",
} as SearchQuery
2018-10-26 13:40:09 +02:00
it("should query metadata", async () => {
2018-11-01 12:47:48 +01:00
// @ts-ignore
2018-11-19 12:16:11 +01:00
WebServiceConnectorProvider.setConnector(new WebServiceConnectorMock([new DDO()]))
2018-10-26 10:40:46 +02:00
const result: DDO[] = await aquarius.queryMetadata(query)
2018-10-26 13:37:09 +02:00
assert(result)
2018-11-01 12:47:48 +01:00
assert(result.length !== null)
})
it("should query metadata and return real ddo", async () => {
// @ts-ignore
2018-11-19 12:16:11 +01:00
WebServiceConnectorProvider.setConnector(new WebServiceConnectorMock([new DDO()]))
const result: DDO[] = await aquarius.queryMetadata(query)
assert(result)
assert(result[0].findServiceById)
})
2018-11-01 12:47:48 +01:00
})
describe("#queryMetadataByText()", () => {
const query = {
offset: 100,
page: 0,
query: {
value: 1,
},
sort: {
value: 1,
},
text: "Office",
} as SearchQuery
2018-11-01 12:47:48 +01:00
it("should query metadata by text", async () => {
2018-11-01 12:47:48 +01:00
// @ts-ignore
2018-11-19 12:16:11 +01:00
WebServiceConnectorProvider.setConnector(new WebServiceConnectorMock([new DDO()]))
2018-11-01 12:47:48 +01:00
const result: DDO[] = await aquarius.queryMetadataByText(query)
2018-11-01 12:47:48 +01:00
assert(result)
assert(result.length !== null)
2018-10-26 13:37:09 +02:00
})
2018-10-26 13:40:09 +02:00
it("should query metadata and return real ddo", async () => {
// @ts-ignore
2018-11-19 12:16:11 +01:00
WebServiceConnectorProvider.setConnector(new WebServiceConnectorMock([new DDO()]))
const result: DDO[] = await aquarius.queryMetadataByText(query)
assert(result)
assert(result[0].findServiceById)
})
2018-10-26 10:40:46 +02:00
})
2018-11-01 12:47:48 +01:00
describe("#storeDDO()", () => {
it("should store a ddo", async () => {
const did: string = `did:op:${IdGenerator.generatePrefixedId()}`
2018-11-01 12:47:48 +01:00
const ddo: DDO = new DDO({
id: did,
})
// @ts-ignore
2018-11-19 12:16:11 +01:00
WebServiceConnectorProvider.setConnector(new WebServiceConnectorMock(ddo))
2018-11-01 12:47:48 +01:00
const result: DDO = await aquarius.storeDDO(ddo)
assert(result)
assert(result.id === ddo.id)
})
})
describe("#retrieveDDO()", () => {
it("should store a ddo", async () => {
const did: string = `did:op:${IdGenerator.generatePrefixedId()}`
2018-11-01 12:47:48 +01:00
const ddo: DDO = new DDO({
id: did,
})
// @ts-ignore
2018-11-19 12:16:11 +01:00
WebServiceConnectorProvider.setConnector(new WebServiceConnectorMock(ddo))
2018-11-01 12:47:48 +01:00
const storageResult: DDO = await aquarius.storeDDO(ddo)
assert(storageResult)
assert(storageResult.id === did)
const restrieveResult: DDO = await aquarius.retrieveDDO(did)
assert(restrieveResult)
assert(restrieveResult.id === did)
assert(restrieveResult.id === storageResult.id)
})
})
2018-10-26 10:40:46 +02:00
})