mirror of
https://github.com/oceanprotocol-archive/squid-js.git
synced 2024-02-02 15:31:51 +01:00
added fetch mock
This commit is contained in:
parent
f7b88cf9f8
commit
43119ed606
@ -2,7 +2,7 @@ import Config from "./models/Config"
|
|||||||
|
|
||||||
export default class ConfigProvider {
|
export default class ConfigProvider {
|
||||||
|
|
||||||
public static getConfig() {
|
public static getConfig(): Config {
|
||||||
return ConfigProvider.config
|
return ConfigProvider.config
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,25 +1,21 @@
|
|||||||
import fetch from "node-fetch"
|
import Config from "../models/Config"
|
||||||
import ConfigProvider from "../ConfigProvider"
|
|
||||||
import Logger from "../utils/Logger"
|
import Logger from "../utils/Logger"
|
||||||
|
import AquariusConnectorProvider from "./AquariusConnectorProvider"
|
||||||
|
|
||||||
export default class Aquarius {
|
export default class Aquarius {
|
||||||
|
|
||||||
private url: string
|
private url: string
|
||||||
|
|
||||||
constructor() {
|
constructor(config: Config) {
|
||||||
|
|
||||||
this.url = ConfigProvider.getConfig().aquariusUri
|
this.url = config.aquariusUri
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getAccessUrl(accessToken: any, payload: any): Promise<string> {
|
public async getAccessUrl(accessToken: any, payload: any): Promise<string> {
|
||||||
|
|
||||||
const accessUrl = await fetch(`${accessToken.service_endpoint}/${accessToken.resource_id}`, {
|
const accessUrl = await AquariusConnectorProvider.getConnector().post(
|
||||||
method: "POST",
|
`${accessToken.service_endpoint}/${accessToken.resource_id}`,
|
||||||
body: payload,
|
payload)
|
||||||
headers: {
|
|
||||||
"Content-type": "application/json",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
.then((response: any) => {
|
.then((response: any) => {
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
return response.text()
|
return response.text()
|
||||||
@ -39,13 +35,9 @@ export default class Aquarius {
|
|||||||
|
|
||||||
public async queryMetadata(query): Promise<any[]> {
|
public async queryMetadata(query): Promise<any[]> {
|
||||||
|
|
||||||
const result = await fetch(this.url + "/api/v1/aquarius/assets/metadata/query", {
|
const result = await AquariusConnectorProvider.getConnector().post(
|
||||||
method: "POST",
|
this.url + "/api/v1/aquarius/assets/metadata/query",
|
||||||
body: JSON.stringify(query),
|
JSON.stringify(query))
|
||||||
headers: {
|
|
||||||
"Content-type": "application/json",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
.then((response: any) => {
|
.then((response: any) => {
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
return response.json()
|
return response.json()
|
||||||
|
14
src/aquarius/AquariusConnector.ts
Normal file
14
src/aquarius/AquariusConnector.ts
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import fetch from "node-fetch"
|
||||||
|
|
||||||
|
export default class AquariusConnector {
|
||||||
|
|
||||||
|
public post(url, payload) {
|
||||||
|
return fetch(url, {
|
||||||
|
method: "POST",
|
||||||
|
body: payload,
|
||||||
|
headers: {
|
||||||
|
"Content-type": "application/json",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
23
src/aquarius/AquariusConnectorProvider.ts
Normal file
23
src/aquarius/AquariusConnectorProvider.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import Logger from "../utils/Logger"
|
||||||
|
import AquariusConnector from "./AquariusConnector"
|
||||||
|
|
||||||
|
export default class AquariusConnectorProvider {
|
||||||
|
|
||||||
|
public static setConnector(connector: AquariusConnector) {
|
||||||
|
|
||||||
|
Logger.log("setting", typeof connector.constructor.name)
|
||||||
|
|
||||||
|
AquariusConnectorProvider.connector = connector
|
||||||
|
}
|
||||||
|
|
||||||
|
public static getConnector() {
|
||||||
|
|
||||||
|
if (!AquariusConnectorProvider.connector) {
|
||||||
|
AquariusConnectorProvider.connector = new AquariusConnector()
|
||||||
|
}
|
||||||
|
Logger.log("getting", typeof AquariusConnectorProvider.connector.constructor.name)
|
||||||
|
return AquariusConnectorProvider.connector
|
||||||
|
}
|
||||||
|
|
||||||
|
private static connector: AquariusConnector = null
|
||||||
|
}
|
@ -1,3 +1,4 @@
|
|||||||
|
import ConfigProvider from "../ConfigProvider"
|
||||||
import Aquarius from "./Aquarius"
|
import Aquarius from "./Aquarius"
|
||||||
|
|
||||||
export default class AquariusProvider {
|
export default class AquariusProvider {
|
||||||
@ -10,7 +11,7 @@ export default class AquariusProvider {
|
|||||||
public static getAquarius() {
|
public static getAquarius() {
|
||||||
|
|
||||||
if (!AquariusProvider.aquarius) {
|
if (!AquariusProvider.aquarius) {
|
||||||
AquariusProvider.aquarius = new Aquarius()
|
AquariusProvider.aquarius = new Aquarius(ConfigProvider.getConfig())
|
||||||
}
|
}
|
||||||
return AquariusProvider.aquarius
|
return AquariusProvider.aquarius
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
import * as assert from "assert"
|
import * as assert from "assert"
|
||||||
import Aquarius from "../../src/aquarius/Aquarius"
|
import Aquarius from "../../src/aquarius/Aquarius"
|
||||||
import ConfigProvider from "../../src/ConfigProvider"
|
import AquariusConnectorProvider from "../../src/aquarius/AquariusConnectorProvider"
|
||||||
import config from "../config"
|
import config from "../config"
|
||||||
|
import AquariusConnectorMock from "../mocks/AquariusConnector.mock"
|
||||||
|
|
||||||
|
before(() => {
|
||||||
|
AquariusConnectorProvider.setConnector(new AquariusConnectorMock())
|
||||||
|
})
|
||||||
|
|
||||||
describe("Aquarius", () => {
|
describe("Aquarius", () => {
|
||||||
|
|
||||||
before(() => {
|
describe("#queryMetadata()", async () => {
|
||||||
|
|
||||||
ConfigProvider.setConfig(config)
|
const aquarius: Aquarius = new Aquarius(config)
|
||||||
})
|
|
||||||
|
|
||||||
describe("#queryMetadata()queryMetadata", async () => {
|
|
||||||
|
|
||||||
const aquarius: Aquarius = new Aquarius()
|
|
||||||
|
|
||||||
const query = {
|
const query = {
|
||||||
offset: 100,
|
offset: 100,
|
||||||
|
17
test/mocks/AquariusConnector.mock.ts
Normal file
17
test/mocks/AquariusConnector.mock.ts
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import AquariusConnector from "../../src/aquarius/AquariusConnector"
|
||||||
|
|
||||||
|
export default class AquariusConnectorMock extends AquariusConnector {
|
||||||
|
|
||||||
|
public async post(url: string, payload: any) {
|
||||||
|
|
||||||
|
return {
|
||||||
|
ok: true,
|
||||||
|
json: () => {
|
||||||
|
return []
|
||||||
|
},
|
||||||
|
text: () => {
|
||||||
|
return ""
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -23,7 +23,7 @@ describe("Asset", () => {
|
|||||||
|
|
||||||
before(async () => {
|
before(async () => {
|
||||||
ConfigProvider.setConfig(config)
|
ConfigProvider.setConfig(config)
|
||||||
AquariusProvider.setAquarius(new AquariusMock())
|
AquariusProvider.setAquarius(new AquariusMock(config))
|
||||||
|
|
||||||
await ContractHandler.deployContracts()
|
await ContractHandler.deployContracts()
|
||||||
ocean = await Ocean.getInstance(config)
|
ocean = await Ocean.getInstance(config)
|
||||||
|
@ -23,7 +23,7 @@ describe("Ocean", () => {
|
|||||||
|
|
||||||
before(async () => {
|
before(async () => {
|
||||||
ConfigProvider.setConfig(config)
|
ConfigProvider.setConfig(config)
|
||||||
AquariusProvider.setAquarius(new AquariusMock())
|
AquariusProvider.setAquarius(new AquariusMock(config))
|
||||||
await ContractHandler.deployContracts()
|
await ContractHandler.deployContracts()
|
||||||
ocean = await Ocean.getInstance(config)
|
ocean = await Ocean.getInstance(config)
|
||||||
accounts = await ocean.getAccounts()
|
accounts = await ocean.getAccounts()
|
||||||
@ -31,7 +31,7 @@ describe("Ocean", () => {
|
|||||||
testPublisher = accounts[0]
|
testPublisher = accounts[0]
|
||||||
testAsset = new Asset(name, description, price, testPublisher)
|
testAsset = new Asset(name, description, price, testPublisher)
|
||||||
})
|
})
|
||||||
|
|
||||||
describe("#getInstance()", () => {
|
describe("#getInstance()", () => {
|
||||||
|
|
||||||
it("should list accounts", async () => {
|
it("should list accounts", async () => {
|
||||||
|
@ -26,7 +26,7 @@ describe("Order", () => {
|
|||||||
|
|
||||||
before(async () => {
|
before(async () => {
|
||||||
ConfigProvider.setConfig(config)
|
ConfigProvider.setConfig(config)
|
||||||
AquariusProvider.setAquarius(new AquariusMock())
|
AquariusProvider.setAquarius(new AquariusMock(config))
|
||||||
await ContractHandler.deployContracts()
|
await ContractHandler.deployContracts()
|
||||||
ocean = await Ocean.getInstance(config)
|
ocean = await Ocean.getInstance(config)
|
||||||
accounts = await ocean.getAccounts()
|
accounts = await ocean.getAccounts()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user