create mock chains.Manager and use it in tests

This commit is contained in:
Dan Laine 2020-03-17 12:19:53 -04:00
parent db333de8fb
commit a76787eead
2 changed files with 41 additions and 1 deletions

37
chains/mock_manager.go Normal file
View File

@ -0,0 +1,37 @@
package chains
import (
"github.com/ava-labs/gecko/ids"
"github.com/ava-labs/gecko/snow/networking/router"
)
// MockManager implements Manager but does nothing. Always returns nil error.
// To be used only in tests (namely in package platformvm)
type MockManager struct{}
// Router ...
func (mm MockManager) Router() router.Router { return nil }
// CreateChain ...
func (mm MockManager) CreateChain(ChainParameters) {}
// ForceCreateChain ...
func (mm MockManager) ForceCreateChain(ChainParameters) {}
// AddRegistrant ...
func (mm MockManager) AddRegistrant(Registrant) {}
// Lookup ...
func (mm MockManager) Lookup(string) (ids.ID, error) { return ids.ID{}, nil }
// LookupVM ...
func (mm MockManager) LookupVM(string) (ids.ID, error) { return ids.ID{}, nil }
// Aliases ...
func (mm MockManager) Aliases(ids.ID) []string { return nil }
// Alias ...
func (mm MockManager) Alias(ids.ID, string) error { return nil }
// Shutdown ...
func (mm MockManager) Shutdown() {}

View File

@ -10,6 +10,8 @@ import (
"testing"
"time"
"github.com/ava-labs/gecko/chains"
"github.com/ava-labs/gecko/database/memdb"
"github.com/ava-labs/gecko/ids"
"github.com/ava-labs/gecko/snow"
@ -113,7 +115,8 @@ func defaultVM() *VM {
}
vm := &VM{
SnowmanVM: &core.SnowmanVM{},
SnowmanVM: &core.SnowmanVM{},
ChainManager: chains.MockManager{},
}
defaultSubnet := validators.NewSet()