Skip to content
Snippets Groups Projects
Commit c1dd0650 authored by Éloïs's avatar Éloïs
Browse files

[tests] reproduce bug #1402

parent b7c3c922
No related branches found
No related tags found
No related merge requests found
...@@ -81,8 +81,17 @@ describe('A member coming back with less than `sigQty` valid certs total', () => ...@@ -81,8 +81,17 @@ describe('A member coming back with less than `sigQty` valid certs total', () =>
await s1.commit({ time: now + 13 }) await s1.commit({ time: now + 13 })
await s1.commit({ time: now + 13 }) await s1.commit({ time: now + 13 })
const c1 = await cat.makeCert(toc) // <-- a renewal ==> this is what we want to observe const c1 = await cat.makeCert(toc) // <-- a renewal ==> this is what we want to observe
const join = await toc.makeMembership('IN') const join = await toc.makeMembership('IN');
// toc is **NOT** coming back! not enough certs
// Inject c1 & join in mempool
await cat.sendCert(c1)
await toc.sendMembership(join)
// Next bloc must NOT include toc join (#1402)
const b1 = s1.commit({ time: now + 13 })
assertEqual((await b1).joiners.length, 0);
// Try to force toc coming back, must be fail because toc not have enough certs (#1394)
await assertThrows(s1.commit({ await assertThrows(s1.commit({
time: now + 13, time: now + 13,
joiners: [join], joiners: [join],
...@@ -90,13 +99,13 @@ describe('A member coming back with less than `sigQty` valid certs total', () => ...@@ -90,13 +99,13 @@ describe('A member coming back with less than `sigQty` valid certs total', () =>
}), 'BLOCK_WASNT_COMMITTED') }), 'BLOCK_WASNT_COMMITTED')
// BUT is coming back with 1 more cert // BUT is coming back with 1 more cert
const c2 = await tac.makeCert(toc) const c2 = await tac.makeCert(toc)
const b = await s1.commit({ const b2 = await s1.commit({
time: now + 13, time: now + 13,
joiners: [join], joiners: [join],
certifications: [c1, c2] certifications: [c1, c2]
}) })
assertEqual(b.membersCount, 3) // <--- toc is welcome back :) assertEqual(b2.membersCount, 3) // <--- toc is welcome back :)
assertEqual(b.number, 12) assertEqual(b2.number, 13)
}) })
after(() => { after(() => {
......
...@@ -98,7 +98,7 @@ export class TestUser { ...@@ -98,7 +98,7 @@ export class TestUser {
return this.createdIdentity return this.createdIdentity
} }
public async makeCert(user:TestUser, fromServer?:TestingServer, overrideProps?:any) { public async makeCert(user:TestUser, fromServer?:TestingServer, overrideProps?:any): Promise<CertificationDTO> {
const lookup = await this.lookup(user.pub, fromServer) const lookup = await this.lookup(user.pub, fromServer)
const current = await this.node.server.BlockchainService.current() const current = await this.node.server.BlockchainService.current()
const idty = Underscore.filter(lookup.results[0].uids, uidEntry => uidEntry.uid === user.uid)[0] const idty = Underscore.filter(lookup.results[0].uids, uidEntry => uidEntry.uid === user.uid)[0]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment