cleaning and expand public api tests

This commit is contained in:
tiagosiebler
2021-06-24 00:41:21 +01:00
parent ef427f524a
commit bbdf6edad9
6 changed files with 152 additions and 6 deletions

View File

@@ -22,7 +22,8 @@ export class InverseFuturesClient extends SharedEndpoints {
restClientOptions: RestClientOptions = {},
requestOptions: AxiosRequestConfig = {}
) {
super()
super();
this.requestWrapper = new RequestWrapper(
key,
secret,

View File

@@ -7,7 +7,7 @@ export class LinearClient extends SharedEndpoints {
protected requestWrapper: RequestWrapper;
/**
* @public Creates an instance of the inverse REST API client.
* @public Creates an instance of the linear REST API client.
*
* @param {string} key - your API key
* @param {string} secret - your API secret
@@ -22,7 +22,8 @@ export class LinearClient extends SharedEndpoints {
restClientOptions: RestClientOptions = {},
requestOptions: AxiosRequestConfig = {}
) {
super()
super();
this.requestWrapper = new RequestWrapper(
key,
secret,

View File

@@ -0,0 +1,70 @@
import { InverseFuturesClient } from "../../src/inverse-futures-client";
import { notAuthenticatedError, successResponseList, successResponseObject } from "../response.util";
describe('Public Inverse Futures REST API Endpoints', () => {
const useLivenet = true;
const api = new InverseFuturesClient(undefined, undefined, useLivenet);
const symbol = 'BTCUSD';
const interval = '15';
const timestampOneHourAgo = (new Date().getTime() / 1000) - (1000 * 60 * 60);
const from = Number(timestampOneHourAgo.toFixed(0));
describe('Inverse-Futures only endpoints', () => {
it('should throw for unauthenticated private calls', async () => {
expect(() => api.getPosition()).rejects.toMatchObject(notAuthenticatedError());
});
it('getKline()', async () => {
expect(
await api.getKline({ symbol, interval, from })
).toMatchObject(successResponseList());
});
it('getTrades()', async () => {
expect(await api.getTrades({ symbol })).toMatchObject(successResponseList());
});
it('getIndexPriceKline()', async () => {
expect(await api.getIndexPriceKline({ symbol, interval, from })).toMatchObject(successResponseList());
});
it('getPremiumIndexKline()', async () => {
expect(await api.getPremiumIndexKline({ symbol, interval, from })).toMatchObject(successResponseList());
});
it('getLastFundingRate()', async () => {
expect(await api.getLastFundingRate({ symbol })).toMatchObject(successResponseObject());
});
});
describe('Shared endpoints', () => {
it('should throw for unauthenticated private calls', async () => {
expect(() => api.getApiKeyInfo()).rejects.toMatchObject(notAuthenticatedError());
});
it('getOrderBook()', async () => {
expect(await api.getOrderBook({ symbol })).toMatchObject(successResponseList());
});
it('getTickers()', async () => {
expect(await api.getTickers()).toMatchObject(successResponseList());
});
it('getSymbols()', async () => {
expect(await api.getSymbols()).toMatchObject(successResponseList());
});
it('getLiquidations()', async () => {
expect(await api.getLiquidations({ symbol })).toMatchObject(successResponseList());
});
it('getServerTime()', async () => {
expect(await api.getServerTime()).toMatchObject(successResponseObject());
});
it('getApiAnnouncements()', async () => {
expect(await api.getApiAnnouncements()).toMatchObject(successResponseList());
});
});
});

View File

@@ -1,5 +1,5 @@
import { InverseClient } from "../../src/inverse-client";
import { successResponseList, successResponseObject } from "../response.util";
import { notAuthenticatedError, successResponseList, successResponseObject } from "../response.util";
describe('Public Inverse REST API Endpoints', () => {
const useLivenet = true;
@@ -12,7 +12,7 @@ describe('Public Inverse REST API Endpoints', () => {
describe('Inverse only endpoints', () => {
it('should throw for unauthenticated private calls', async () => {
expect(() => api.getPosition()).rejects.toMatchObject(new Error('Private endpoints require api and private keys set'));
expect(() => api.getPosition()).rejects.toMatchObject(notAuthenticatedError());
});
it('getKline()', async () => {
@@ -40,7 +40,7 @@ describe('Public Inverse REST API Endpoints', () => {
describe('Shared endpoints', () => {
it('should throw for unauthenticated private calls', async () => {
expect(() => api.getApiKeyInfo()).rejects.toMatchObject(new Error('Private endpoints require api and private keys set'));
expect(() => api.getApiKeyInfo()).rejects.toMatchObject(notAuthenticatedError());
});
it('getOrderBook()', async () => {

View File

@@ -0,0 +1,70 @@
import { LinearClient } from "../../src/linear-client";
import { notAuthenticatedError, successResponseList, successResponseObject } from "../response.util";
describe('Public Linear REST API Endpoints', () => {
const useLivenet = true;
const api = new LinearClient(undefined, undefined, useLivenet);
const symbol = 'BTCUSDT';
const interval = '15';
const timestampOneHourAgo = (new Date().getTime() / 1000) - (1000 * 60 * 60);
const from = Number(timestampOneHourAgo.toFixed(0));
describe('Linear only endpoints', () => {
it('should throw for unauthenticated private calls', async () => {
expect(() => api.getPosition()).rejects.toMatchObject(notAuthenticatedError());
});
it('getKline()', async () => {
expect(
await api.getKline({ symbol, interval, from })
).toMatchObject(successResponseList());
});
it('getTrades()', async () => {
expect(await api.getTrades({ symbol })).toMatchObject(successResponseList());
});
it('getIndexPriceKline()', async () => {
expect(await api.getIndexPriceKline({ symbol, interval, from })).toMatchObject(successResponseList());
});
it('getPremiumIndexKline()', async () => {
expect(await api.getPremiumIndexKline({ symbol, interval, from })).toMatchObject(successResponseList());
});
it('getLastFundingRate()', async () => {
expect(await api.getLastFundingRate({ symbol })).toMatchObject(successResponseObject());
});
});
describe('Shared endpoints', () => {
it('should throw for unauthenticated private calls', async () => {
expect(() => api.getApiKeyInfo()).rejects.toMatchObject(notAuthenticatedError());
});
it('getOrderBook()', async () => {
expect(await api.getOrderBook({ symbol })).toMatchObject(successResponseList());
});
it('getTickers()', async () => {
expect(await api.getTickers()).toMatchObject(successResponseList());
});
it('getSymbols()', async () => {
expect(await api.getSymbols()).toMatchObject(successResponseList());
});
it('getLiquidations()', async () => {
expect(await api.getLiquidations({ symbol })).toMatchObject(successResponseList());
});
it('getServerTime()', async () => {
expect(await api.getServerTime()).toMatchObject(successResponseObject());
});
it('getApiAnnouncements()', async () => {
expect(await api.getApiAnnouncements()).toMatchObject(successResponseList());
});
});
});

View File

@@ -20,3 +20,7 @@ export function successResponseObject() {
"time_now": expect.any(String),
};
};
export function notAuthenticatedError() {
return new Error('Private endpoints require api and private keys set');
};