aboutsummaryrefslogtreecommitdiffstats
path: root/core/dkg-tsig-protocol_test.go
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2018-09-23 20:51:05 +0800
committerGitHub <noreply@github.com>2018-09-23 20:51:05 +0800
commit0ab5a2d4f63ece79a4df32c6fb3ac710a954fd89 (patch)
tree626db6969aee92702001e5c9f3de56e2a439ccac /core/dkg-tsig-protocol_test.go
parent2c71e8448a9c03e924a7869351eebf2def1af057 (diff)
downloaddexon-consensus-0ab5a2d4f63ece79a4df32c6fb3ac710a954fd89.tar
dexon-consensus-0ab5a2d4f63ece79a4df32c6fb3ac710a954fd89.tar.gz
dexon-consensus-0ab5a2d4f63ece79a4df32c6fb3ac710a954fd89.tar.bz2
dexon-consensus-0ab5a2d4f63ece79a4df32c6fb3ac710a954fd89.tar.lz
dexon-consensus-0ab5a2d4f63ece79a4df32c6fb3ac710a954fd89.tar.xz
dexon-consensus-0ab5a2d4f63ece79a4df32c6fb3ac710a954fd89.tar.zst
dexon-consensus-0ab5a2d4f63ece79a4df32c6fb3ac710a954fd89.zip
core: run first DKG at startup. (#129)
Diffstat (limited to 'core/dkg-tsig-protocol_test.go')
-rw-r--r--core/dkg-tsig-protocol_test.go33
1 files changed, 23 insertions, 10 deletions
diff --git a/core/dkg-tsig-protocol_test.go b/core/dkg-tsig-protocol_test.go
index 2bcbe9e..63b47ec 100644
--- a/core/dkg-tsig-protocol_test.go
+++ b/core/dkg-tsig-protocol_test.go
@@ -193,6 +193,13 @@ func (s *DKGTSIGProtocolTestSuite) TestDKGTSIGProtocol() {
qualifyIDs[id] = struct{}{}
}
+ for _, nID := range gpk.qualifyNodeIDs {
+ id, exist := gpk.idMap[nID]
+ s.Require().True(exist)
+ _, exist = qualifyIDs[id]
+ s.Require().True(exist)
+ }
+
shareSecrets := make(
map[types.NodeID]*dkgShareSecret, len(qualifyIDs))
@@ -299,21 +306,26 @@ func (s *DKGTSIGProtocolTestSuite) TestComplaint() {
ReceiverID: targetID,
Round: round,
})
- s.Error(ErrNotDKGParticipant, err)
- err = protocol.processPrivateShare(&types.DKGPrivateShare{
+ s.Equal(ErrNotDKGParticipant, err)
+ receivers[byzantineID].ProposeDKGPrivateShare(&types.DKGPrivateShare{
ProposerID: byzantineID,
ReceiverID: targetID,
Round: round,
})
- s.Error(ErrIncorrectPrivateShareSignature, err)
+ invalidShare := receivers[byzantineID].prvShare[targetID]
+ invalidShare.Signature[1]++
+ err = protocol.processPrivateShare(invalidShare)
+ s.Equal(ErrIncorrectPrivateShareSignature, err)
+ delete(receivers[byzantineID].prvShare, targetID)
// Byzantine node is sending incorrect private share.
receivers[byzantineID].ProposeDKGPrivateShare(&types.DKGPrivateShare{
- ProposerID: byzantineID,
- ReceiverID: targetID,
- Round: round,
+ ProposerID: byzantineID,
+ ReceiverID: targetID,
+ Round: round,
+ PrivateShare: *dkg.NewPrivateKey(),
})
- invalidShare := receivers[byzantineID].prvShare[targetID]
+ invalidShare = receivers[byzantineID].prvShare[targetID]
s.Require().NoError(protocol.processPrivateShare(invalidShare))
s.Require().Len(receiver.complaints, 1)
complaint, exist := receiver.complaints[byzantineID]
@@ -575,16 +587,17 @@ func (s *DKGTSIGProtocolTestSuite) TestPartialSignature() {
PartialSignature: shareSecret.sign(msgHash),
}
if nID == byzantineID2 {
- psig.PartialSignature[0]++
+ psig.PartialSignature = shareSecret.sign(
+ crypto.Keccak256Hash([]byte("💣")))
}
var err error
psig.Signature, err = s.prvKeys[nID].Sign(hashDKGPartialSignature(psig))
s.Require().NoError(err)
err = tsig.processPartialSignature(msgHash, psig)
if nID == byzantineID {
- s.Require().Error(ErrNotQualifyDKGParticipant, err)
+ s.Require().Equal(ErrNotQualifyDKGParticipant, err)
} else if nID == byzantineID2 {
- s.Require().Error(ErrIncorrectPartialSignature, err)
+ s.Require().Equal(ErrIncorrectPartialSignature, err)
} else {
s.Require().NoError(err)
}