helper_test.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package core
  2. import (
  3. "container/list"
  4. "fmt"
  5. "github.com/ethereum/go-ethereum/core/types"
  6. "github.com/ethereum/go-ethereum/crypto"
  7. "github.com/ethereum/go-ethereum/ethdb"
  8. "github.com/ethereum/go-ethereum/ethutil"
  9. "github.com/ethereum/go-ethereum/event"
  10. "github.com/ethereum/go-ethereum/wire"
  11. )
  12. // Implement our EthTest Manager
  13. type TestManager struct {
  14. // stateManager *StateManager
  15. eventMux *event.TypeMux
  16. db ethutil.Database
  17. txPool *TxPool
  18. blockChain *ChainManager
  19. Blocks []*types.Block
  20. }
  21. func (s *TestManager) IsListening() bool {
  22. return false
  23. }
  24. func (s *TestManager) IsMining() bool {
  25. return false
  26. }
  27. func (s *TestManager) PeerCount() int {
  28. return 0
  29. }
  30. func (s *TestManager) Peers() *list.List {
  31. return list.New()
  32. }
  33. func (s *TestManager) ChainManager() *ChainManager {
  34. return s.blockChain
  35. }
  36. func (tm *TestManager) TxPool() *TxPool {
  37. return tm.txPool
  38. }
  39. // func (tm *TestManager) StateManager() *StateManager {
  40. // return tm.stateManager
  41. // }
  42. func (tm *TestManager) EventMux() *event.TypeMux {
  43. return tm.eventMux
  44. }
  45. func (tm *TestManager) Broadcast(msgType wire.MsgType, data []interface{}) {
  46. fmt.Println("Broadcast not implemented")
  47. }
  48. func (tm *TestManager) ClientIdentity() wire.ClientIdentity {
  49. return nil
  50. }
  51. func (tm *TestManager) KeyManager() *crypto.KeyManager {
  52. return nil
  53. }
  54. func (tm *TestManager) Db() ethutil.Database {
  55. return tm.db
  56. }
  57. func NewTestManager() *TestManager {
  58. ethutil.ReadConfig(".ethtest", "/tmp/ethtest", "ETH")
  59. db, err := ethdb.NewMemDatabase()
  60. if err != nil {
  61. fmt.Println("Could not create mem-db, failing")
  62. return nil
  63. }
  64. ethutil.Config.Db = db
  65. testManager := &TestManager{}
  66. testManager.eventMux = new(event.TypeMux)
  67. testManager.db = db
  68. // testManager.txPool = NewTxPool(testManager)
  69. // testManager.blockChain = NewChainManager(testManager)
  70. // testManager.stateManager = NewStateManager(testManager)
  71. // Start the tx pool
  72. testManager.txPool.Start()
  73. return testManager
  74. }