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  }