From 91a91b24c8d0c44efd86ece312553927041170da Mon Sep 17 00:00:00 2001 From: Fuxing Loh Date: Mon, 31 Jan 2022 19:30:14 +0800 Subject: [PATCH 1/3] removed await within test due to race condition --- packages/whale-api-client/__tests__/api/prices.test.ts | 3 --- packages/whale-api-client/__tests__/stub.service.ts | 1 - src/e2e.module.ts | 7 ++----- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/packages/whale-api-client/__tests__/api/prices.test.ts b/packages/whale-api-client/__tests__/api/prices.test.ts index d5febe486..1c6cdba4e 100644 --- a/packages/whale-api-client/__tests__/api/prices.test.ts +++ b/packages/whale-api-client/__tests__/api/prices.test.ts @@ -605,7 +605,6 @@ describe('active price', () => { const height = await container.getBlockCount() await container.generate(1) await service.waitForIndexedHeight(height) - await new Promise((resolve) => setTimeout(resolve, 500)) const fixedIntervalPrice = await testing.rpc.oracle.getFixedIntervalPrice('S1/USD') const activePrice = await apiClient.prices.getFeedActive('S1', 'USD', 1) @@ -642,7 +641,6 @@ describe('active price', () => { const height = await container.getBlockCount() await container.generate(1) await service.waitForIndexedHeight(height) - await new Promise((resolve) => setTimeout(resolve, 500)) const fixedIntervalPrice = await testing.rpc.oracle.getFixedIntervalPrice('S1/USD') const activePrice = await apiClient.prices.getFeedActive('S1', 'USD', 1) @@ -684,7 +682,6 @@ describe('active price', () => { const height = await container.getBlockCount() await container.generate(1) await service.waitForIndexedHeight(height) - await new Promise((resolve) => setTimeout(resolve, 500)) const fixedIntervalPrice = await testing.rpc.oracle.getFixedIntervalPrice('S1/USD') const activePrice = await apiClient.prices.getFeedActive('S1', 'USD', 1) diff --git a/packages/whale-api-client/__tests__/stub.service.ts b/packages/whale-api-client/__tests__/stub.service.ts index e6ef89f90..4451b1f0a 100644 --- a/packages/whale-api-client/__tests__/stub.service.ts +++ b/packages/whale-api-client/__tests__/stub.service.ts @@ -45,7 +45,6 @@ export class StubService { const block = await blockMapper.getHighest() await expect(block?.height).toBeGreaterThan(height) }, timeout) - await new Promise((resolve) => setTimeout(resolve, 1000)) } async waitForIndexedTimestamp (container: MasterNodeRegTestContainer, timestamp: number, timeout: number = 30000): Promise { diff --git a/src/e2e.module.ts b/src/e2e.module.ts index ad8586dac..266ee4011 100644 --- a/src/e2e.module.ts +++ b/src/e2e.module.ts @@ -44,10 +44,8 @@ export async function stopTestingApp (container: MasterNodeRegTestContainer | Te await indexer.stop() await app.close() } finally { - await new Promise((resolve) => { - // Wait 2000ms between indexer cycle time to prevent database error - setTimeout(_ => resolve(0), 500) - }) + // Wait 500ms between indexer cycle time to prevent database error + await new Promise((resolve) => setTimeout(resolve, 500)) if (container instanceof MasterNodeRegTestContainer) { await container.stop() @@ -76,7 +74,6 @@ export async function waitForIndexedHeight (app: NestFastifyApplication, height: const block = await blockMapper.getHighest() await expect(block?.height).toBeGreaterThan(height) }, timeout) - await new Promise((resolve) => setTimeout(resolve, 1000)) } /** From 722eb97f934c75aadad454871422ffff761db353 Mon Sep 17 00:00:00 2001 From: Fuxing Loh Date: Mon, 31 Jan 2022 19:57:57 +0800 Subject: [PATCH 2/3] fix loan.auction.history test to be more deterministic --- src/module.api/loan.auction.history.e2e.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/module.api/loan.auction.history.e2e.ts b/src/module.api/loan.auction.history.e2e.ts index fc7894231..9a3306500 100644 --- a/src/module.api/loan.auction.history.e2e.ts +++ b/src/module.api/loan.auction.history.e2e.ts @@ -152,7 +152,8 @@ beforeAll(async () => { await tGroup.waitForSync() const height = await alice.container.call('getblockcount') - await waitForIndexedHeight(app, height - 1) + await alice.generate(1) + await waitForIndexedHeight(app, height) }) afterAll(async () => { From 5dc6879eb0fa79d332858d3dbac66dfdd3871a31 Mon Sep 17 00:00:00 2001 From: Fuxing Loh Date: Mon, 31 Jan 2022 20:10:26 +0800 Subject: [PATCH 3/3] remove indexer 500ms wait as it might be fixed in #653 --- src/e2e.module.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/e2e.module.ts b/src/e2e.module.ts index 266ee4011..ec17a80bc 100644 --- a/src/e2e.module.ts +++ b/src/e2e.module.ts @@ -44,9 +44,6 @@ export async function stopTestingApp (container: MasterNodeRegTestContainer | Te await indexer.stop() await app.close() } finally { - // Wait 500ms between indexer cycle time to prevent database error - await new Promise((resolve) => setTimeout(resolve, 500)) - if (container instanceof MasterNodeRegTestContainer) { await container.stop() } else {