Skip to content

Commit

Permalink
Merge pull request #1000 from input-output-hk/test/fix-flaky-test
Browse files Browse the repository at this point in the history
test(cardano-services): fix flaky test
  • Loading branch information
iccicci committed Nov 28, 2023
2 parents 5912cb7 + 7731b82 commit 57b2e70
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 4 deletions.
2 changes: 2 additions & 0 deletions packages/cardano-services/test/Http/HttpServer.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@ describe('HttpServer', () => {
provider = new DbSyncUtxoProvider({ cache, cardanoNode, dbPools, logger });
});

afterAll(() => Promise.all([dbPools.healthCheck.end(), dbPools.main.end()]));

describe('initialize', () => {
afterEach(() => httpServer.shutdown());
it('initializes the express application', async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { DataSource } from 'typeorm';
import { Pool } from 'pg';
import { PoolDelistedEntity } from '@cardano-sdk/projection-typeorm';
import { WorkerHandlerFactoryOptions } from '../../src/PgBoss';
import { createSmashStakePoolDelistedService } from '../../src/StakePool/HttpStakePoolMetadata/SmashStakePoolDelistedService';
Expand All @@ -10,11 +11,16 @@ jest.mock('../../src/StakePool/HttpStakePoolMetadata/SmashStakePoolDelistedServi

describe('stakePoolBatchDelistHandler', () => {
let dataSource: DataSource;
let db: Pool;

beforeAll(async () => {
const testData = await initHandlerTest();
dataSource = testData.dataSource;

({ dataSource, db } = testData);
});

afterAll(() => Promise.all([db.end(), dataSource.destroy()]));

it('contain latest delisted pools only', async () => {
// Padded by spaces because pool id length is fixed to 56 chars
const expected = ['pool1', 'pool2', 'pool3'].map((p) => p.padEnd(56, ' '));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Cardano, NotImplementedError, ProviderError, ProviderFailure } from '@c
import { DataMocks } from '../data-mocks';
import { DataSource } from 'typeorm';
import { Hash32ByteBase16 } from '@cardano-sdk/crypto';
import { Pool } from 'pg';
import { PoolMetadataEntity, PoolRegistrationEntity } from '@cardano-sdk/projection-typeorm';
import { StakePoolMetadataFetchMode } from '../../src/Program/options';
import {
Expand All @@ -17,11 +18,12 @@ describe('stakePoolMetadataHandler', () => {
const vrf = 'test_vfr';

let dataSource: DataSource;
let db: Pool;

beforeAll(async () => {
const testData = await initHandlerTest();
const { block, stakePool } = testData;
({ dataSource } = testData);
({ dataSource, db } = testData);

const registrationRepos = dataSource.getRepository(PoolRegistrationEntity);
const registration1 = {
Expand All @@ -47,6 +49,8 @@ describe('stakePoolMetadataHandler', () => {
await registrationRepos.insert(registration2);
});

afterAll(() => Promise.all([db.end(), dataSource.destroy()]));

describe('isUpdateOutdated', () => {
it('returns true if there is a newer pool update', async () => {
expect(await isUpdateOutdated(dataSource, poolId, '23')).toBe(true);
Expand Down Expand Up @@ -108,6 +112,7 @@ describe('stakePoolMetadataHandler', () => {
expect(await metadataRepos.find({ where: { poolUpdate } })).toEqual([]);
});
});

describe('attachExtendedMetadata', () => {
const metadata = {
description: 'description',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ import { Cardano, StakePoolProvider } from '@cardano-sdk/core';
import { CurrentPoolMetricsEntity, StakePoolEntity } from '@cardano-sdk/projection-typeorm';
import { DataSource } from 'typeorm';
import { Percent } from '@cardano-sdk/util';
import { Pool } from 'pg';
import { Repository } from 'typeorm/repository/Repository';
import { getPoolIdsToUpdate, savePoolMetrics } from '../../src/PgBoss/stakePoolMetricsHandler';
import { initHandlerTest, poolId } from './util';
import { logger } from '@cardano-sdk/util-dev';

describe('stakePoolMetricsHandler', () => {
let dataSource: DataSource;
let db: Pool;
let metricsRepos: Repository<CurrentPoolMetricsEntity>;
const metrics: Cardano.StakePoolMetrics = {
blocksCreated: 23,
Expand All @@ -23,11 +25,13 @@ describe('stakePoolMetricsHandler', () => {

beforeAll(async () => {
const testData = await initHandlerTest();
({ dataSource } = testData);
({ dataSource, db } = testData);

metricsRepos = dataSource.getRepository(CurrentPoolMetricsEntity);
});

afterAll(() => Promise.all([db.end(), dataSource.destroy()]));

describe('getPoolIdsToUpdate', () => {
const partialOptions = {
dataSource,
Expand Down
2 changes: 1 addition & 1 deletion packages/cardano-services/test/PgBoss/util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,5 +55,5 @@ export const initHandlerTest = async () => {
await blockRepos.insert(block);
await poolRepos.insert(stakePool);

return { block, dataSource, stakePool };
return { block, dataSource, db, stakePool };
};

0 comments on commit 57b2e70

Please sign in to comment.