mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-06 21:36:26 +00:00
* Rebased and git-squashed the commits in PR #6546 migrate abci to finalizeBlock work on abci, proxy and mempool abciresponse, blok events, indexer, some tests fix some tests fix errors fix errors in abci fix tests amd errors * Fixes after rebasing PR#6546 * Restored height to RequestFinalizeBlock & other * Fixed more UTs * Fixed kvstore * More UT fixes * last TC fixed * make format * Update internal/consensus/mempool_test.go Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Addressed @williambanfield's comments * Fixed UTs * Addressed last comments from @williambanfield * make format Co-authored-by: marbar3778 <marbar3778@yahoo.com> Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
93 lines
1.8 KiB
Go
93 lines
1.8 KiB
Go
package factory
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/tendermint/tendermint/crypto"
|
|
"github.com/tendermint/tendermint/crypto/tmhash"
|
|
"github.com/tendermint/tendermint/types"
|
|
"github.com/tendermint/tendermint/version"
|
|
)
|
|
|
|
const (
|
|
DefaultTestChainID = "test-chain"
|
|
)
|
|
|
|
var (
|
|
DefaultTestTime = time.Date(2020, 1, 1, 0, 0, 0, 0, time.UTC)
|
|
)
|
|
|
|
func RandomAddress() []byte {
|
|
return crypto.CRandBytes(crypto.AddressSize)
|
|
}
|
|
|
|
func RandomHash() []byte {
|
|
return crypto.CRandBytes(tmhash.Size)
|
|
}
|
|
|
|
func MakeBlockID() types.BlockID {
|
|
return MakeBlockIDWithHash(RandomHash())
|
|
}
|
|
|
|
func MakeBlockIDWithHash(hash []byte) types.BlockID {
|
|
return types.BlockID{
|
|
Hash: hash,
|
|
PartSetHeader: types.PartSetHeader{
|
|
Total: 100,
|
|
Hash: RandomHash(),
|
|
},
|
|
}
|
|
}
|
|
|
|
// MakeHeader fills the rest of the contents of the header such that it passes
|
|
// validate basic
|
|
func MakeHeader(t *testing.T, h *types.Header) *types.Header {
|
|
t.Helper()
|
|
if h.Version.Block == 0 {
|
|
h.Version.Block = version.BlockProtocol
|
|
}
|
|
if h.Height == 0 {
|
|
h.Height = 1
|
|
}
|
|
if h.LastBlockID.IsNil() {
|
|
h.LastBlockID = MakeBlockID()
|
|
}
|
|
if h.ChainID == "" {
|
|
h.ChainID = DefaultTestChainID
|
|
}
|
|
if len(h.LastCommitHash) == 0 {
|
|
h.LastCommitHash = RandomHash()
|
|
}
|
|
if len(h.DataHash) == 0 {
|
|
h.DataHash = RandomHash()
|
|
}
|
|
if len(h.ValidatorsHash) == 0 {
|
|
h.ValidatorsHash = RandomHash()
|
|
}
|
|
if len(h.NextValidatorsHash) == 0 {
|
|
h.NextValidatorsHash = RandomHash()
|
|
}
|
|
if len(h.ConsensusHash) == 0 {
|
|
h.ConsensusHash = RandomHash()
|
|
}
|
|
if len(h.AppHash) == 0 {
|
|
h.AppHash = RandomHash()
|
|
}
|
|
if len(h.LastResultsHash) == 0 {
|
|
h.LastResultsHash = RandomHash()
|
|
}
|
|
if len(h.EvidenceHash) == 0 {
|
|
h.EvidenceHash = RandomHash()
|
|
}
|
|
if len(h.ProposerAddress) == 0 {
|
|
h.ProposerAddress = RandomAddress()
|
|
}
|
|
|
|
require.NoError(t, h.ValidateBasic())
|
|
|
|
return h
|
|
}
|