diff options
Diffstat (limited to 'core/helper_test.go')
-rw-r--r-- | core/helper_test.go | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/core/helper_test.go b/core/helper_test.go new file mode 100644 index 000000000..2b1510ea4 --- /dev/null +++ b/core/helper_test.go @@ -0,0 +1,93 @@ +package core + +import ( + "container/list" + "fmt" + + "github.com/ethereum/go-ethereum/chain/types" + "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/ethdb" + "github.com/ethereum/go-ethereum/ethutil" + "github.com/ethereum/go-ethereum/event" + "github.com/ethereum/go-ethereum/wire" +) + +// Implement our EthTest Manager +type TestManager struct { + // stateManager *StateManager + eventMux *event.TypeMux + + db ethutil.Database + txPool *TxPool + blockChain *ChainManager + Blocks []*types.Block +} + +func (s *TestManager) IsListening() bool { + return false +} + +func (s *TestManager) IsMining() bool { + return false +} + +func (s *TestManager) PeerCount() int { + return 0 +} + +func (s *TestManager) Peers() *list.List { + return list.New() +} + +func (s *TestManager) ChainManager() *ChainManager { + return s.blockChain +} + +func (tm *TestManager) TxPool() *TxPool { + return tm.txPool +} + +// func (tm *TestManager) StateManager() *StateManager { +// return tm.stateManager +// } + +func (tm *TestManager) EventMux() *event.TypeMux { + return tm.eventMux +} +func (tm *TestManager) Broadcast(msgType wire.MsgType, data []interface{}) { + fmt.Println("Broadcast not implemented") +} + +func (tm *TestManager) ClientIdentity() wire.ClientIdentity { + return nil +} +func (tm *TestManager) KeyManager() *crypto.KeyManager { + return nil +} + +func (tm *TestManager) Db() ethutil.Database { + return tm.db +} + +func NewTestManager() *TestManager { + ethutil.ReadConfig(".ethtest", "/tmp/ethtest", "ETH") + + db, err := ethdb.NewMemDatabase() + if err != nil { + fmt.Println("Could not create mem-db, failing") + return nil + } + ethutil.Config.Db = db + + testManager := &TestManager{} + testManager.eventMux = new(event.TypeMux) + testManager.db = db + // testManager.txPool = NewTxPool(testManager) + // testManager.blockChain = NewChainManager(testManager) + // testManager.stateManager = NewStateManager(testManager) + + // Start the tx pool + testManager.txPool.Start() + + return testManager +} |