1
0
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:
Sebastian Gerske 2018-10-26 11:57:26 +02:00
parent f7b88cf9f8
commit 43119ed606
10 changed files with 79 additions and 32 deletions

View File

@ -2,7 +2,7 @@ import Config from "./models/Config"
export default class ConfigProvider {
public static getConfig() {
public static getConfig(): Config {
return ConfigProvider.config
}

View File

@ -1,25 +1,21 @@
import fetch from "node-fetch"
import ConfigProvider from "../ConfigProvider"
import Config from "../models/Config"
import Logger from "../utils/Logger"
import AquariusConnectorProvider from "./AquariusConnectorProvider"
export default class Aquarius {
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> {
const accessUrl = await fetch(`${accessToken.service_endpoint}/${accessToken.resource_id}`, {
method: "POST",
body: payload,
headers: {
"Content-type": "application/json",
},
})
const accessUrl = await AquariusConnectorProvider.getConnector().post(
`${accessToken.service_endpoint}/${accessToken.resource_id}`,
payload)
.then((response: any) => {
if (response.ok) {
return response.text()
@ -39,13 +35,9 @@ export default class Aquarius {
public async queryMetadata(query): Promise<any[]> {
const result = await fetch(this.url + "/api/v1/aquarius/assets/metadata/query", {
method: "POST",
body: JSON.stringify(query),
headers: {
"Content-type": "application/json",
},
})
const result = await AquariusConnectorProvider.getConnector().post(
this.url + "/api/v1/aquarius/assets/metadata/query",
JSON.stringify(query))
.then((response: any) => {
if (response.ok) {
return response.json()

View 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",
},
})
}
}

View 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
}

View File

@ -1,3 +1,4 @@
import ConfigProvider from "../ConfigProvider"
import Aquarius from "./Aquarius"
export default class AquariusProvider {
@ -10,7 +11,7 @@ export default class AquariusProvider {
public static getAquarius() {
if (!AquariusProvider.aquarius) {
AquariusProvider.aquarius = new Aquarius()
AquariusProvider.aquarius = new Aquarius(ConfigProvider.getConfig())
}
return AquariusProvider.aquarius
}

View File

@ -1,18 +1,18 @@
import * as assert from "assert"
import Aquarius from "../../src/aquarius/Aquarius"
import ConfigProvider from "../../src/ConfigProvider"
import AquariusConnectorProvider from "../../src/aquarius/AquariusConnectorProvider"
import config from "../config"
import AquariusConnectorMock from "../mocks/AquariusConnector.mock"
before(() => {
AquariusConnectorProvider.setConnector(new AquariusConnectorMock())
})
describe("Aquarius", () => {
before(() => {
describe("#queryMetadata()", async () => {
ConfigProvider.setConfig(config)
})
describe("#queryMetadata()queryMetadata", async () => {
const aquarius: Aquarius = new Aquarius()
const aquarius: Aquarius = new Aquarius(config)
const query = {
offset: 100,

View 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 ""
},
}
}
}

View File

@ -23,7 +23,7 @@ describe("Asset", () => {
before(async () => {
ConfigProvider.setConfig(config)
AquariusProvider.setAquarius(new AquariusMock())
AquariusProvider.setAquarius(new AquariusMock(config))
await ContractHandler.deployContracts()
ocean = await Ocean.getInstance(config)

View File

@ -23,7 +23,7 @@ describe("Ocean", () => {
before(async () => {
ConfigProvider.setConfig(config)
AquariusProvider.setAquarius(new AquariusMock())
AquariusProvider.setAquarius(new AquariusMock(config))
await ContractHandler.deployContracts()
ocean = await Ocean.getInstance(config)
accounts = await ocean.getAccounts()

View File

@ -26,7 +26,7 @@ describe("Order", () => {
before(async () => {
ConfigProvider.setConfig(config)
AquariusProvider.setAquarius(new AquariusMock())
AquariusProvider.setAquarius(new AquariusMock(config))
await ContractHandler.deployContracts()
ocean = await Ocean.getInstance(config)
accounts = await ocean.getAccounts()