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  }