github.com/juju/juju@v0.0.0-20240327075706-a90865de2538/worker/caasunitterminationworker/manifold_test.go (about) 1 // Copyright 2021 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package caasunitterminationworker_test 5 6 import ( 7 "time" 8 9 "github.com/juju/clock/testclock" 10 "github.com/juju/errors" 11 "github.com/juju/loggo" 12 jc "github.com/juju/testing/checkers" 13 gc "gopkg.in/check.v1" 14 15 "github.com/juju/juju/worker/caasunitterminationworker" 16 ) 17 18 type ManifoldSuite struct { 19 config caasunitterminationworker.ManifoldConfig 20 } 21 22 var _ = gc.Suite(&ManifoldSuite{}) 23 24 func (s *ManifoldSuite) SetUpTest(c *gc.C) { 25 s.config = caasunitterminationworker.ManifoldConfig{ 26 Clock: testclock.NewClock(time.Now()), 27 Logger: loggo.GetLogger("test"), 28 } 29 } 30 31 func (s *ManifoldSuite) TestConfigValidation(c *gc.C) { 32 err := s.config.Validate() 33 c.Assert(err, jc.ErrorIsNil) 34 } 35 36 func (s *ManifoldSuite) TestConfigValidationMissingClock(c *gc.C) { 37 s.config.Clock = nil 38 err := s.config.Validate() 39 c.Check(err, jc.Satisfies, errors.IsNotValid) 40 c.Check(err, gc.ErrorMatches, "missing Clock not valid") 41 } 42 43 func (s *ManifoldSuite) TestConfigValidationMissingLogger(c *gc.C) { 44 s.config.Logger = nil 45 err := s.config.Validate() 46 c.Check(err, jc.Satisfies, errors.IsNotValid) 47 c.Check(err, gc.ErrorMatches, "missing Logger not valid") 48 }