Mise à jour de GitLab prévue ce samedi 8 mai 2021 à partir de 9h00 CET | GitLab upgrade planned this Saturday May 4th of 2021 from 9:00 AM CET

Commit 08563465 authored by Cédric Moreau's avatar Cédric Moreau

Merge branch 'test/willMembers'

parents 8ecfb511 fece8812
Pipeline #8721 passed with stage
in 29 seconds
......@@ -134,7 +134,14 @@ export class DataFinder {
@MonitorExecutionTime()
getUidOfPub(pub: string): Promise<{ uid: string }[]> {
return this.getFromCacheOrDB('getUidOfPub', pub, () => this.iindex.getFullFromPubkey(pub))
return this.getFromCacheOrDB('getUidOfPub', pub, async () => {
const entry = await this.iindex.getFullFromPubkey(pub)
if (!entry.uid) {
// Not found
return []
}
return [entry]
})
}
@MonitorExecutionTime()
......
This diff is collapsed.
This diff is collapsed.
// Source file from duniter: Crypto-currency software to manage libre currency such as Ğ1
// Copyright (C) 2018 Cedric Moreau <cem.moreau@gmail.com>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program 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 Affero General Public License for more details.
import {assertEqual, assertTrue, writeBasicTestWithConfAnd2Users} from "duniter/test/integration/tools/test-framework"
import {CommonConstants} from "duniter/app/lib/common-libs/constants";
import {DataFinder, initMonitDB} from "../lib/DataFinder";
import {MonitDBBlock} from "../lib/SqliteBlockchain";
import {willMembers} from "../modules/will-members";
describe('willMembers', () => writeBasicTestWithConfAnd2Users({
sigQty: 1,
medianTimeBlocks: 1,
}, (test) => {
const now = 1500000000
before(() => {
CommonConstants.BLOCKS_IN_MEMORY_MAX = 3 // Must be > forkWindowSize
})
test('Duniter blockchain init', async (s1, cat, tac) => {
await cat.createIdentity()
await tac.createIdentity()
await cat.cert(tac)
await tac.cert(cat)
await cat.join()
await tac.join()
const head = await s1.commit({ time: now })
assertEqual(head.number, 0);
assertEqual(head.membersCount, 2);
await initMonitDB(s1._server)
})
test('toc tries to join', async (s1, cat, tac, toc) => {
await toc.createIdentity()
await toc.join()
await cat.cert(toc)
await tac.cert(toc)
const will = await willMembers(s1._server)
assertEqual(will.idtysListOrdered.length, 1)
assertEqual(will.idtysListOrdered[0].pendingCertifications.length, 2) // cat & tac
})
}))
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment