Save and expose the database in TestConsensus (#1349)

This commit is contained in:
Elichai Turkel 2021-01-05 14:13:33 +02:00 committed by GitHub
parent 119e7374e1
commit 72a7ca53e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 0 deletions

View File

@ -379,6 +379,7 @@ func (f *factory) NewTestConsensusWithDataDir(dagParams *dagconfig.Params, dataD
tstConsensus := &testConsensus{
dagParams: dagParams,
consensus: consensusAsImplementation,
database: db,
testConsensusStateManager: testConsensusStateManager,
testReachabilityManager: reachabilitymanager.NewTestReachabilityManager(consensusAsImplementation.
reachabilityManager),

View File

@ -4,6 +4,7 @@ import (
"github.com/kaspanet/kaspad/domain/consensus/model"
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
"github.com/kaspanet/kaspad/domain/dagconfig"
"github.com/kaspanet/kaspad/infrastructure/db/database"
)
// TestConsensus wraps the Consensus interface with some methods that are needed by tests only
@ -12,6 +13,7 @@ type TestConsensus interface {
DAGParams() *dagconfig.Params
DatabaseContext() model.DBManager
Database() database.Database
BuildBlockWithParents(parentHashes []*externalapi.DomainHash, coinbaseData *externalapi.DomainCoinbaseData,
transactions []*externalapi.DomainTransaction) (*externalapi.DomainBlock, model.UTXODiff, error)

View File

@ -6,11 +6,13 @@ import (
"github.com/kaspanet/kaspad/domain/consensus/model/testapi"
"github.com/kaspanet/kaspad/domain/consensus/utils/consensushashing"
"github.com/kaspanet/kaspad/domain/dagconfig"
"github.com/kaspanet/kaspad/infrastructure/db/database"
)
type testConsensus struct {
*consensus
dagParams *dagconfig.Params
database database.Database
testBlockBuilder testapi.TestBlockBuilder
testReachabilityManager testapi.TestReachabilityManager

View File

@ -3,12 +3,17 @@ package consensus
import (
"github.com/kaspanet/kaspad/domain/consensus/model"
"github.com/kaspanet/kaspad/domain/consensus/model/testapi"
"github.com/kaspanet/kaspad/infrastructure/db/database"
)
func (tc *testConsensus) DatabaseContext() model.DBManager {
return tc.databaseContext
}
func (tc *testConsensus) Database() database.Database {
return tc.database
}
func (tc *testConsensus) AcceptanceDataStore() model.AcceptanceDataStore {
return tc.acceptanceDataStore
}