aboutsummaryrefslogtreecommitdiffstats
path: root/core/compaction-chain_test.go
diff options
context:
space:
mode:
authorWei-Ning Huang <w@dexon.org>2018-10-01 18:19:52 +0800
committerGitHub <noreply@github.com>2018-10-01 18:19:52 +0800
commit9c33b9dc8aa59d414a6697f1e2d036e5581860ee (patch)
tree74a4a77b5c28fa9a550fe1ba40b5b2efac0e7630 /core/compaction-chain_test.go
parent9b78db7a4744176070bf968d50dbebb191b28b69 (diff)
downloaddexon-consensus-9c33b9dc8aa59d414a6697f1e2d036e5581860ee.tar
dexon-consensus-9c33b9dc8aa59d414a6697f1e2d036e5581860ee.tar.gz
dexon-consensus-9c33b9dc8aa59d414a6697f1e2d036e5581860ee.tar.bz2
dexon-consensus-9c33b9dc8aa59d414a6697f1e2d036e5581860ee.tar.lz
dexon-consensus-9c33b9dc8aa59d414a6697f1e2d036e5581860ee.tar.xz
dexon-consensus-9c33b9dc8aa59d414a6697f1e2d036e5581860ee.tar.zst
dexon-consensus-9c33b9dc8aa59d414a6697f1e2d036e5581860ee.zip
core: update data model to reflect new model (#157)
Update data model: 1) Remove witness ack. 2) Add round to block. 3) Update governance interface.
Diffstat (limited to 'core/compaction-chain_test.go')
-rw-r--r--core/compaction-chain_test.go65
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))
}