github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/worker/upgradeseries/testing_test.go (about) 1 // Copyright 2018 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 package upgradeseries_test 4 5 import ( 6 "gopkg.in/juju/names.v2" 7 "gopkg.in/juju/worker.v1" 8 9 "github.com/golang/mock/gomock" 10 "github.com/juju/juju/api/base" 11 workermocks "github.com/juju/juju/worker/mocks" 12 "github.com/juju/juju/worker/upgradeseries" 13 . "github.com/juju/juju/worker/upgradeseries/mocks" 14 ) 15 16 // validManifoldConfig returns a valid manifold config created from mocks based 17 // on the incoming controller. The mocked facade and worker are returned. 18 func validManifoldConfig(ctrl *gomock.Controller) (upgradeseries.ManifoldConfig, upgradeseries.Facade, worker.Worker) { 19 facade := NewMockFacade(ctrl) 20 work := workermocks.NewMockWorker(ctrl) 21 22 cfg := newManifoldConfig( 23 voidLogger(ctrl), 24 func(_ base.APICaller, _ names.Tag) upgradeseries.Facade { return facade }, 25 func(_ upgradeseries.Config) (worker.Worker, error) { return work, nil }, 26 ) 27 28 return cfg, facade, work 29 } 30 31 // newManifoldConfig creates and returns a new ManifoldConfig instance based on 32 // the supplied arguments. 33 func newManifoldConfig( 34 logger upgradeseries.Logger, 35 newFacade func(base.APICaller, names.Tag) upgradeseries.Facade, 36 newWorker func(upgradeseries.Config) (worker.Worker, error), 37 ) upgradeseries.ManifoldConfig { 38 return upgradeseries.ManifoldConfig{ 39 AgentName: "agent-name", 40 APICallerName: "api-caller-name", 41 NewFacade: newFacade, 42 NewWorker: newWorker, 43 Logger: logger, 44 } 45 } 46 47 // voidLogger creates a new mock Logger that with no call verification. 48 func voidLogger(ctrl *gomock.Controller) upgradeseries.Logger { 49 log := NewMockLogger(ctrl) 50 51 exp := log.EXPECT() 52 any := gomock.Any() 53 exp.Debugf(any, any).AnyTimes() 54 exp.Infof(any, any).AnyTimes() 55 exp.Warningf(any, any).AnyTimes() 56 exp.Errorf(any, any).AnyTimes() 57 58 return log 59 }