From 72a7ca53e64fa1edb1aa66a0e93886d4d88b8914 Mon Sep 17 00:00:00 2001 From: Elichai Turkel Date: Tue, 5 Jan 2021 14:13:33 +0200 Subject: [PATCH] Save and expose the database in TestConsensus (#1349) --- domain/consensus/factory.go | 1 + domain/consensus/model/testapi/test_consensus.go | 2 ++ domain/consensus/test_consensus.go | 2 ++ domain/consensus/test_consensus_getters.go | 5 +++++ 4 files changed, 10 insertions(+) diff --git a/domain/consensus/factory.go b/domain/consensus/factory.go index 37bef61f5..dec61335c 100644 --- a/domain/consensus/factory.go +++ b/domain/consensus/factory.go @@ -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), diff --git a/domain/consensus/model/testapi/test_consensus.go b/domain/consensus/model/testapi/test_consensus.go index c8bb736a9..8b3f9d1fd 100644 --- a/domain/consensus/model/testapi/test_consensus.go +++ b/domain/consensus/model/testapi/test_consensus.go @@ -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) diff --git a/domain/consensus/test_consensus.go b/domain/consensus/test_consensus.go index c6e1809f6..c5b4856ec 100644 --- a/domain/consensus/test_consensus.go +++ b/domain/consensus/test_consensus.go @@ -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 diff --git a/domain/consensus/test_consensus_getters.go b/domain/consensus/test_consensus_getters.go index 0390be5b6..8cb6a5219 100644 --- a/domain/consensus/test_consensus_getters.go +++ b/domain/consensus/test_consensus_getters.go @@ -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 }