diff options
Diffstat (limited to 'core/compaction-chain_test.go')
-rw-r--r-- | core/compaction-chain_test.go | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/core/compaction-chain_test.go b/core/compaction-chain_test.go index 634cc68..b8f446e 100644 --- a/core/compaction-chain_test.go +++ b/core/compaction-chain_test.go @@ -23,7 +23,6 @@ import ( "github.com/dexon-foundation/dexon-consensus-core/common" "github.com/dexon-foundation/dexon-consensus-core/core/blockdb" - "github.com/dexon-foundation/dexon-consensus-core/core/crypto/ecdsa" "github.com/dexon-foundation/dexon-consensus-core/core/types" "github.com/stretchr/testify/suite" ) @@ -81,74 +80,10 @@ func (s *CompactionChainTestSuite) TestProcessBlock() { s.Equal(cc.prevBlock, prevBlock) err := cc.processBlock(block) s.Require().Nil(err) - if prevBlock != nil { - s.Equal(block.Witness.Height, prevBlock.Witness.Height+1) - prevHash, err := hashWitness(prevBlock) - s.Require().Nil(err) - s.Equal(prevHash, block.Witness.ParentHash) - } prevBlock = block } } -func (s *CompactionChainTestSuite) TestProcessWitnessAck() { - cc := s.newCompactionChain() - blocks := s.generateBlocks(10, cc) - prv1, err := ecdsa.NewPrivateKey() - s.Require().Nil(err) - prv2, err := ecdsa.NewPrivateKey() - s.Require().Nil(err) - nID1 := types.NewNodeID(prv1.PublicKey()) - nID2 := types.NewNodeID(prv2.PublicKey()) - auth1 := NewAuthenticator(prv1) - auth2 := NewAuthenticator(prv2) - witnessAcks1 := []*types.WitnessAck{} - witnessAcks2 := []*types.WitnessAck{} - for _, block := range blocks { - cc.prevBlock = block - witnessAck1, err := auth1.SignAsWitnessAck(block) - s.Require().Nil(err) - witnessAck2, err := auth2.SignAsWitnessAck(block) - s.Require().Nil(err) - witnessAcks1 = append(witnessAcks1, witnessAck1) - witnessAcks2 = append(witnessAcks2, witnessAck2) - } - // The acked block is not yet in db. - err = cc.processWitnessAck(witnessAcks1[0]) - s.Nil(err) - s.Equal(0, len(cc.witnessAcks())) - err = cc.processWitnessAck(witnessAcks2[1]) - s.Nil(err) - s.Equal(0, len(cc.witnessAcks())) - // Insert to block to db and trigger processPendingWitnessAck. - s.Require().Nil(s.db.Put(*blocks[0])) - s.Require().Nil(s.db.Put(*blocks[1])) - err = cc.processWitnessAck(witnessAcks1[2]) - s.Nil(err) - s.Equal(2, len(cc.witnessAcks())) - - // Test the witnessAcks should be the last witnessAck. - s.Require().Nil(s.db.Put(*blocks[2])) - s.Require().Nil(s.db.Put(*blocks[3])) - s.Nil(cc.processWitnessAck(witnessAcks1[3])) - - acks := cc.witnessAcks() - s.Equal(blocks[3].Hash, acks[nID1].WitnessBlockHash) - s.Equal(blocks[1].Hash, acks[nID2].WitnessBlockHash) - - // Test that witnessAck on less Witness.Height should be ignored. - s.Require().Nil(s.db.Put(*blocks[4])) - s.Require().Nil(s.db.Put(*blocks[5])) - s.Nil(cc.processWitnessAck(witnessAcks1[5])) - s.Nil(cc.processWitnessAck(witnessAcks2[5])) - s.Nil(cc.processWitnessAck(witnessAcks1[4])) - s.Nil(cc.processWitnessAck(witnessAcks2[4])) - - acks = cc.witnessAcks() - s.Equal(blocks[5].Hash, acks[nID1].WitnessBlockHash) - s.Equal(blocks[5].Hash, acks[nID2].WitnessBlockHash) -} - func TestCompactionChain(t *testing.T) { suite.Run(t, new(CompactionChainTestSuite)) } |