github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/state/controllernode_test.go (about)

     1  // Copyright 2019 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package state_test
     5  
     6  import (
     7  	jc "github.com/juju/testing/checkers"
     8  	gc "gopkg.in/check.v1"
     9  
    10  	"github.com/juju/juju/state"
    11  )
    12  
    13  type ControllerNodeSuite struct {
    14  	ConnSuite
    15  }
    16  
    17  var _ = gc.Suite(&ControllerNodeSuite{})
    18  
    19  func (s *ControllerNodeSuite) TestAddControllerNode(c *gc.C) {
    20  	node, err := s.State.AddControllerNode()
    21  	c.Assert(err, jc.ErrorIsNil)
    22  	c.Assert(node.IsManager(), jc.IsTrue)
    23  	c.Assert(node.Tag().String(), gc.Equals, "controller-0")
    24  	c.Assert(node.Life(), gc.Equals, state.Alive)
    25  	node0, err := s.State.ControllerNode("0")
    26  	c.Assert(err, jc.ErrorIsNil)
    27  	c.Assert(node, jc.DeepEquals, node0)
    28  
    29  	// Check id increments.
    30  	node1, err := s.State.AddControllerNode()
    31  	c.Assert(err, jc.ErrorIsNil)
    32  	c.Assert(node1.Id(), gc.Equals, "1")
    33  }
    34  
    35  func (s *ControllerNodeSuite) TestSetPassword(c *gc.C) {
    36  	node, err := s.State.AddControllerNode()
    37  	c.Assert(err, jc.ErrorIsNil)
    38  	testSetPassword(c, func() (state.Authenticator, error) {
    39  		return node, nil
    40  	})
    41  }
    42  
    43  func (s *ControllerNodeSuite) TestSetMongoPassword(c *gc.C) {
    44  	_, err := s.State.AddControllerNode()
    45  	c.Assert(err, jc.ErrorIsNil)
    46  	testSetMongoPassword(c, func(st *state.State, id string) (mongoPasswordSetter, error) {
    47  		return st.ControllerNode("0")
    48  	}, s.State.ControllerTag(), s.modelTag, s.Session)
    49  }
    50  
    51  func (s *ControllerNodeSuite) TestAgentTools(c *gc.C) {
    52  	node, err := s.State.AddControllerNode()
    53  	c.Assert(err, jc.ErrorIsNil)
    54  	testAgentTools(c, node, "controller "+node.Id())
    55  }