cleaning and expand public api tests
This commit is contained in:
@@ -22,7 +22,8 @@ export class InverseFuturesClient extends SharedEndpoints {
|
|||||||
restClientOptions: RestClientOptions = {},
|
restClientOptions: RestClientOptions = {},
|
||||||
requestOptions: AxiosRequestConfig = {}
|
requestOptions: AxiosRequestConfig = {}
|
||||||
) {
|
) {
|
||||||
super()
|
super();
|
||||||
|
|
||||||
this.requestWrapper = new RequestWrapper(
|
this.requestWrapper = new RequestWrapper(
|
||||||
key,
|
key,
|
||||||
secret,
|
secret,
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ export class LinearClient extends SharedEndpoints {
|
|||||||
protected requestWrapper: RequestWrapper;
|
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} key - your API key
|
||||||
* @param {string} secret - your API secret
|
* @param {string} secret - your API secret
|
||||||
@@ -22,7 +22,8 @@ export class LinearClient extends SharedEndpoints {
|
|||||||
restClientOptions: RestClientOptions = {},
|
restClientOptions: RestClientOptions = {},
|
||||||
requestOptions: AxiosRequestConfig = {}
|
requestOptions: AxiosRequestConfig = {}
|
||||||
) {
|
) {
|
||||||
super()
|
super();
|
||||||
|
|
||||||
this.requestWrapper = new RequestWrapper(
|
this.requestWrapper = new RequestWrapper(
|
||||||
key,
|
key,
|
||||||
secret,
|
secret,
|
||||||
|
|||||||
70
test/inverse-futures/public.test.ts
Normal file
70
test/inverse-futures/public.test.ts
Normal 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());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { InverseClient } from "../../src/inverse-client";
|
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', () => {
|
describe('Public Inverse REST API Endpoints', () => {
|
||||||
const useLivenet = true;
|
const useLivenet = true;
|
||||||
@@ -12,7 +12,7 @@ describe('Public Inverse REST API Endpoints', () => {
|
|||||||
|
|
||||||
describe('Inverse only endpoints', () => {
|
describe('Inverse only endpoints', () => {
|
||||||
it('should throw for unauthenticated private calls', async () => {
|
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 () => {
|
it('getKline()', async () => {
|
||||||
@@ -40,7 +40,7 @@ describe('Public Inverse REST API Endpoints', () => {
|
|||||||
|
|
||||||
describe('Shared endpoints', () => {
|
describe('Shared endpoints', () => {
|
||||||
it('should throw for unauthenticated private calls', async () => {
|
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 () => {
|
it('getOrderBook()', async () => {
|
||||||
|
|||||||
70
test/linear/public.test.ts
Normal file
70
test/linear/public.test.ts
Normal 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());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -20,3 +20,7 @@ export function successResponseObject() {
|
|||||||
"time_now": expect.any(String),
|
"time_now": expect.any(String),
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export function notAuthenticatedError() {
|
||||||
|
return new Error('Private endpoints require api and private keys set');
|
||||||
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user