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 }