github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/worker/migrationmaster/manifoldconfig_test.go (about) 1 // Copyright 2016 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package migrationmaster_test 5 6 import ( 7 "github.com/juju/clock" 8 "github.com/juju/errors" 9 "github.com/juju/testing" 10 jc "github.com/juju/testing/checkers" 11 gc "gopkg.in/check.v1" 12 "gopkg.in/juju/worker.v1" 13 14 "github.com/juju/juju/api/base" 15 "github.com/juju/juju/worker/migrationmaster" 16 ) 17 18 type ManifoldConfigSuite struct { 19 testing.IsolationSuite 20 config migrationmaster.ManifoldConfig 21 } 22 23 var _ = gc.Suite(&ManifoldConfigSuite{}) 24 25 func (s *ManifoldConfigSuite) SetUpTest(c *gc.C) { 26 s.IsolationSuite.SetUpTest(c) 27 s.config = s.validConfig() 28 } 29 30 func (s *ManifoldConfigSuite) validConfig() migrationmaster.ManifoldConfig { 31 return migrationmaster.ManifoldConfig{ 32 AgentName: "agent", 33 APICallerName: "api-caller", 34 FortressName: "fortress", 35 Clock: struct{ clock.Clock }{}, 36 NewFacade: func(base.APICaller) (migrationmaster.Facade, error) { return nil, nil }, 37 NewWorker: func(migrationmaster.Config) (worker.Worker, error) { return nil, nil }, 38 } 39 } 40 41 func (s *ManifoldConfigSuite) TestValid(c *gc.C) { 42 c.Check(s.config.Validate(), jc.ErrorIsNil) 43 } 44 45 func (s *ManifoldConfigSuite) TestMissingAgentName(c *gc.C) { 46 s.config.AgentName = "" 47 s.checkNotValid(c, "empty AgentName not valid") 48 } 49 50 func (s *ManifoldConfigSuite) TestMissingAPICallerName(c *gc.C) { 51 s.config.APICallerName = "" 52 s.checkNotValid(c, "empty APICallerName not valid") 53 } 54 55 func (s *ManifoldConfigSuite) TestMissingFortressName(c *gc.C) { 56 s.config.FortressName = "" 57 s.checkNotValid(c, "empty FortressName not valid") 58 } 59 60 func (s *ManifoldConfigSuite) TestMissingClock(c *gc.C) { 61 s.config.Clock = nil 62 s.checkNotValid(c, "nil Clock not valid") 63 } 64 65 func (s *ManifoldConfigSuite) TestMissingNewFacade(c *gc.C) { 66 s.config.NewFacade = nil 67 s.checkNotValid(c, "nil NewFacade not valid") 68 } 69 70 func (s *ManifoldConfigSuite) TestMissingNewWorker(c *gc.C) { 71 s.config.NewWorker = nil 72 s.checkNotValid(c, "nil NewWorker not valid") 73 } 74 75 func (s *ManifoldConfigSuite) checkNotValid(c *gc.C, expect string) { 76 err := s.config.Validate() 77 c.Check(err, gc.ErrorMatches, expect) 78 c.Check(err, jc.Satisfies, errors.IsNotValid) 79 }