github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/worker/upgradeseries/testing_test.go (about) 1 // Copyright 2018 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package upgradeseries_test 5 6 import ( 7 "github.com/juju/loggo" 8 "github.com/juju/names/v5" 9 "github.com/juju/worker/v3" 10 "go.uber.org/mock/gomock" 11 12 "github.com/juju/juju/api/base" 13 workermocks "github.com/juju/juju/worker/mocks" 14 "github.com/juju/juju/worker/upgradeseries" 15 . "github.com/juju/juju/worker/upgradeseries/mocks" 16 ) 17 18 // validManifoldConfig returns a valid manifold config created from mocks based 19 // on the incoming controller. The mocked facade and worker are returned. 20 func validManifoldConfig(ctrl *gomock.Controller) (upgradeseries.ManifoldConfig, upgradeseries.Facade, worker.Worker) { 21 facade := NewMockFacade(ctrl) 22 work := workermocks.NewMockWorker(ctrl) 23 cfg := newManifoldConfig( 24 loggo.GetLogger("test.upgradeseries"), 25 func(_ base.APICaller, _ names.Tag) upgradeseries.Facade { return facade }, 26 func(_ upgradeseries.Config) (worker.Worker, error) { return work, nil }, 27 ) 28 29 return cfg, facade, work 30 } 31 32 // newManifoldConfig creates and returns a new ManifoldConfig instance based on 33 // the supplied arguments. 34 func newManifoldConfig( 35 logger upgradeseries.Logger, 36 newFacade func(base.APICaller, names.Tag) upgradeseries.Facade, 37 newWorker func(upgradeseries.Config) (worker.Worker, error), 38 ) upgradeseries.ManifoldConfig { 39 return upgradeseries.ManifoldConfig{ 40 AgentName: "agent-name", 41 APICallerName: "api-caller-name", 42 NewFacade: newFacade, 43 NewWorker: newWorker, 44 Logger: logger, 45 } 46 }