aboutsummaryrefslogtreecommitdiffstats
path: root/packages/pipeline/test/data_sources
diff options
context:
space:
mode:
Diffstat (limited to 'packages/pipeline/test/data_sources')
-rw-r--r--packages/pipeline/test/data_sources/contract-wrappers/utils_test.ts109
-rw-r--r--packages/pipeline/test/data_sources/ohlcv_external/crypto_compare_test.ts47
2 files changed, 0 insertions, 156 deletions
diff --git a/packages/pipeline/test/data_sources/contract-wrappers/utils_test.ts b/packages/pipeline/test/data_sources/contract-wrappers/utils_test.ts
deleted file mode 100644
index 06f1a5e86..000000000
--- a/packages/pipeline/test/data_sources/contract-wrappers/utils_test.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-// tslint:disable:custom-no-magic-numbers
-import * as chai from 'chai';
-import { LogWithDecodedArgs } from 'ethereum-types';
-import 'mocha';
-
-import { _getEventsWithRetriesAsync } from '../../../src/data_sources/contract-wrappers/utils';
-import { chaiSetup } from '../../utils/chai_setup';
-
-chaiSetup.configure();
-const expect = chai.expect;
-
-const retryableMessage = 'network timeout: (simulated network timeout error)';
-const retryableError = new Error(retryableMessage);
-
-describe('data_sources/contract-wrappers/utils', () => {
- describe('_getEventsWithRetriesAsync', () => {
- it('sends a single request if it was successful', async () => {
- // Pre-declare values for the fromBlock and toBlock arguments.
- const expectedFromBlock = 100;
- const expectedToBlock = 200;
- const expectedLogs: Array<LogWithDecodedArgs<any>> = [
- {
- logIndex: 123,
- transactionIndex: 456,
- transactionHash: '0x6dd106d002873746072fc5e496dd0fb2541b68c77bcf9184ae19a42fd33657fe',
- blockHash: '0x6dd106d002873746072fc5e496dd0fb2541b68c77bcf9184ae19a42fd33657ff',
- blockNumber: 789,
- address: '0x6dd106d002873746072fc5e496dd0fb2541b68c77bcf9184ae19a42fd3365800',
- data: 'fake raw data',
- topics: [],
- event: 'TEST_EVENT',
- args: [1, 2, 3],
- },
- ];
-
- // mockGetEventsAsync checks its arguments, increments `callCount`
- // and returns `expectedLogs`.
- let callCount = 0;
- const mockGetEventsAsync = async (
- fromBlock: number,
- toBlock: number,
- ): Promise<Array<LogWithDecodedArgs<any>>> => {
- expect(fromBlock).equals(expectedFromBlock);
- expect(toBlock).equals(expectedToBlock);
- callCount += 1;
- return expectedLogs;
- };
-
- // Make sure that we get what we expected and that the mock function
- // was called exactly once.
- const gotLogs = await _getEventsWithRetriesAsync(mockGetEventsAsync, 3, expectedFromBlock, expectedToBlock);
- expect(gotLogs).deep.equals(expectedLogs);
- expect(callCount).equals(
- 1,
- 'getEventsAsync function was called more than once even though it was successful',
- );
- });
- it('retries and eventually succeeds', async () => {
- const numRetries = 5;
- let callCount = 0;
- // mockGetEventsAsync throws unless callCount == numRetries + 1.
- const mockGetEventsAsync = async (
- _fromBlock: number,
- _toBlock: number,
- ): Promise<Array<LogWithDecodedArgs<any>>> => {
- callCount += 1;
- if (callCount === numRetries + 1) {
- return [];
- }
- throw retryableError;
- };
- await _getEventsWithRetriesAsync(mockGetEventsAsync, numRetries, 100, 300);
- expect(callCount).equals(numRetries + 1, 'getEventsAsync function was called the wrong number of times');
- });
- it('throws for non-retryable errors', async () => {
- const numRetries = 5;
- const expectedMessage = 'Non-retryable error';
- // mockGetEventsAsync always throws a non-retryable error.
- const mockGetEventsAsync = async (
- _fromBlock: number,
- _toBlock: number,
- ): Promise<Array<LogWithDecodedArgs<any>>> => {
- throw new Error(expectedMessage);
- };
- // Note(albrow): This does actually return a promise (or at least a
- // "promise-like object" and is a false positive in TSLint.
- // tslint:disable-next-line:await-promise
- await expect(_getEventsWithRetriesAsync(mockGetEventsAsync, numRetries, 100, 300)).to.be.rejectedWith(
- expectedMessage,
- );
- });
- it('throws after too many retries', async () => {
- const numRetries = 5;
- // mockGetEventsAsync always throws a retryable error.
- const mockGetEventsAsync = async (
- _fromBlock: number,
- _toBlock: number,
- ): Promise<Array<LogWithDecodedArgs<any>>> => {
- throw retryableError;
- };
- // Note(albrow): This does actually return a promise (or at least a
- // "promise-like object" and is a false positive in TSLint.
- // tslint:disable-next-line:await-promise
- await expect(_getEventsWithRetriesAsync(mockGetEventsAsync, numRetries, 100, 300)).to.be.rejectedWith(
- retryableMessage,
- );
- });
- });
-});
diff --git a/packages/pipeline/test/data_sources/ohlcv_external/crypto_compare_test.ts b/packages/pipeline/test/data_sources/ohlcv_external/crypto_compare_test.ts
deleted file mode 100644
index 2efe3f5ec..000000000
--- a/packages/pipeline/test/data_sources/ohlcv_external/crypto_compare_test.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import * as chai from 'chai';
-import 'mocha';
-import * as R from 'ramda';
-
-import { CryptoCompareOHLCVSource } from '../../../src/data_sources/ohlcv_external/crypto_compare';
-import { TradingPair } from '../../../src/utils/get_ohlcv_trading_pairs';
-import { chaiSetup } from '../../utils/chai_setup';
-
-chaiSetup.configure();
-const expect = chai.expect;
-
-// tslint:disable:custom-no-magic-numbers
-describe('ohlcv_external data source (Crypto Compare)', () => {
- describe('generateBackfillIntervals', () => {
- it('generates pairs with intervals to query', () => {
- const source = new CryptoCompareOHLCVSource(20);
- const pair: TradingPair = {
- fromSymbol: 'ETH',
- toSymbol: 'ZRX',
- latestSavedTime: new Date().getTime() - source.interval * 2,
- };
-
- const expected = [
- pair,
- R.merge(pair, { latestSavedTime: pair.latestSavedTime + source.interval }),
- R.merge(pair, { latestSavedTime: pair.latestSavedTime + source.interval * 2 }),
- ];
-
- const actual = source.generateBackfillIntervals(pair);
- expect(actual).deep.equal(expected);
- });
-
- it('returns single pair if no backfill is needed', () => {
- const source = new CryptoCompareOHLCVSource(20);
- const pair: TradingPair = {
- fromSymbol: 'ETH',
- toSymbol: 'ZRX',
- latestSavedTime: new Date().getTime() - source.interval + 5000,
- };
-
- const expected = [pair];
-
- const actual = source.generateBackfillIntervals(pair);
- expect(actual).deep.equal(expected);
- });
- });
-});