From 4cd565a9e52739afc0c9c8f29d1994a1f8da8f2f Mon Sep 17 00:00:00 2001 From: Max Andreev Date: Tue, 08 Nov 2022 08:28:54 +0000 Subject: [PATCH] Run block-production test in sequential suite --- --- /dev/null +++ b/tests/src/block-production.seqtest.ts @@ -0,0 +1,43 @@ +// Copyright 2019-2022 Unique Network (Gibraltar) Ltd. +// This file is part of Unique Network. + +// Unique Network is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Unique Network is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Unique Network. If not, see . + +import {ApiPromise} from '@polkadot/api'; +import {expect, itSub} from './util'; + +const BLOCK_TIME_MS = 12000; +const TOLERANCE_MS = 3000; + +/* eslint no-async-promise-executor: "off" */ +function getBlocks(api: ApiPromise): Promise { + return new Promise(async (resolve, reject) => { + const blockNumbers: number[] = []; + setTimeout(() => reject('Block production test failed due to timeout.'), BLOCK_TIME_MS + TOLERANCE_MS); + const unsubscribe = await api.rpc.chain.subscribeNewHeads((head: any) => { + blockNumbers.push(head.number.toNumber()); + if(blockNumbers.length >= 2) { + unsubscribe(); + resolve(blockNumbers); + } + }); + }); +} + +describe('Block Production smoke test', () => { + itSub('Node produces new blocks', async ({helper}) => { + const blocks: number[] | undefined = await getBlocks(helper.getApi()); + expect(blocks[0]).to.be.lessThan(blocks[1]); + }); +}); --- a/tests/src/block-production.test.ts +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2019-2022 Unique Network (Gibraltar) Ltd. -// This file is part of Unique Network. - -// Unique Network is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// Unique Network is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with Unique Network. If not, see . - -import {ApiPromise} from '@polkadot/api'; -import {expect, itSub} from './util'; - -const BLOCK_TIME_MS = 12000; -const TOLERANCE_MS = 3000; - -/* eslint no-async-promise-executor: "off" */ -function getBlocks(api: ApiPromise): Promise { - return new Promise(async (resolve, reject) => { - const blockNumbers: number[] = []; - setTimeout(() => reject('Block production test failed due to timeout.'), BLOCK_TIME_MS + TOLERANCE_MS); - const unsubscribe = await api.rpc.chain.subscribeNewHeads((head: any) => { - blockNumbers.push(head.number.toNumber()); - if(blockNumbers.length >= 2) { - unsubscribe(); - resolve(blockNumbers); - } - }); - }); -} - -describe('Block Production smoke test', () => { - itSub('Node produces new blocks', async ({helper}) => { - const blocks: number[] | undefined = await getBlocks(helper.getApi()); - expect(blocks[0]).to.be.lessThan(blocks[1]); - }); -}); -- gitstuff