github.com/cloudbase/juju-core@v0.0.0-20140504232958-a7271ac7912f/state/apiserver/common/addresses_test.go (about)

     1  // Copyright 2013 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package common_test
     5  
     6  import (
     7  	gc "launchpad.net/gocheck"
     8  
     9  	"launchpad.net/juju-core/state"
    10  	"launchpad.net/juju-core/state/apiserver/common"
    11  )
    12  
    13  type stateAddresserSuite struct {
    14  	addresser *common.StateAddresser
    15  }
    16  
    17  type apiAddresserSuite struct {
    18  	addresser *common.APIAddresser
    19  }
    20  
    21  var _ = gc.Suite(&stateAddresserSuite{})
    22  var _ = gc.Suite(&apiAddresserSuite{})
    23  
    24  func (s *stateAddresserSuite) SetUpTest(c *gc.C) {
    25  	s.addresser = common.NewStateAddresser(fakeAddresses{})
    26  }
    27  
    28  // Verify that AddressAndCertGetter is satisfied by *state.State.
    29  var _ common.AddressAndCertGetter = (*state.State)(nil)
    30  
    31  func (s *stateAddresserSuite) TestStateAddresses(c *gc.C) {
    32  	result, err := s.addresser.StateAddresses()
    33  	c.Assert(err, gc.IsNil)
    34  	c.Assert(result.Result, gc.DeepEquals, []string{"addresses:1", "addresses:2"})
    35  }
    36  
    37  func (s *stateAddresserSuite) TestCACert(c *gc.C) {
    38  	result := s.addresser.CACert()
    39  	c.Assert(string(result.Result), gc.Equals, "a cert")
    40  }
    41  
    42  func (s *apiAddresserSuite) SetUpTest(c *gc.C) {
    43  	s.addresser = common.NewAPIAddresser(fakeAddresses{})
    44  }
    45  
    46  func (s *apiAddresserSuite) TestAPIAddresses(c *gc.C) {
    47  	result, err := s.addresser.APIAddresses()
    48  	c.Assert(err, gc.IsNil)
    49  	c.Assert(result.Result, gc.DeepEquals, []string{"apiaddresses:1", "apiaddresses:2"})
    50  }
    51  
    52  type fakeAddresses struct{}
    53  
    54  func (fakeAddresses) Addresses() ([]string, error) {
    55  	return []string{"addresses:1", "addresses:2"}, nil
    56  }
    57  
    58  func (fakeAddresses) APIAddresses() ([]string, error) {
    59  	return []string{"apiaddresses:1", "apiaddresses:2"}, nil
    60  }
    61  
    62  func (fakeAddresses) CACert() []byte {
    63  	return []byte("a cert")
    64  }