37 lines
1.2 KiB
Go
37 lines
1.2 KiB
Go
/*
|
|
Copyright IBM Corp. 2017 All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package etcdraft
|
|
|
|
import (
|
|
"testing"
|
|
|
|
cb "github.com/hyperledger/fabric-protos-go/common"
|
|
"github.com/hyperledger/fabric/common/flogging"
|
|
"github.com/hyperledger/fabric/protoutil"
|
|
"github.com/stretchr/testify/require"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
func TestCreateNextBlock(t *testing.T) {
|
|
first := protoutil.NewBlock(0, []byte("firsthash"))
|
|
bc := &blockCreator{
|
|
hash: protoutil.BlockHeaderHash(first.Header),
|
|
number: first.Header.Number,
|
|
logger: flogging.NewFabricLogger(zap.NewNop()),
|
|
}
|
|
|
|
second := bc.createNextBlock([]*cb.Envelope{{Payload: []byte("some other bytes")}})
|
|
require.Equal(t, first.Header.Number+1, second.Header.Number)
|
|
require.Equal(t, protoutil.BlockDataHash(second.Data), second.Header.DataHash)
|
|
require.Equal(t, protoutil.BlockHeaderHash(first.Header), second.Header.PreviousHash)
|
|
|
|
third := bc.createNextBlock([]*cb.Envelope{{Payload: []byte("some other bytes")}})
|
|
require.Equal(t, second.Header.Number+1, third.Header.Number)
|
|
require.Equal(t, protoutil.BlockDataHash(third.Data), third.Header.DataHash)
|
|
require.Equal(t, protoutil.BlockHeaderHash(second.Header), third.Header.PreviousHash)
|
|
}
|