github.com/altoros/juju-vmware@v0.0.0-20150312064031-f19ae857ccca/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 jc "github.com/juju/testing/checkers" 8 gc "gopkg.in/check.v1" 9 10 "github.com/juju/juju/apiserver/common" 11 "github.com/juju/juju/network" 12 "github.com/juju/juju/state" 13 ) 14 15 type stateAddresserSuite struct { 16 addresser *common.StateAddresser 17 } 18 19 type apiAddresserSuite struct { 20 addresser *common.APIAddresser 21 } 22 23 var _ = gc.Suite(&stateAddresserSuite{}) 24 var _ = gc.Suite(&apiAddresserSuite{}) 25 26 func (s *stateAddresserSuite) SetUpTest(c *gc.C) { 27 s.addresser = common.NewStateAddresser(fakeAddresses{}) 28 } 29 30 // Verify that AddressAndCertGetter is satisfied by *state.State. 31 var _ common.AddressAndCertGetter = (*state.State)(nil) 32 33 func (s *stateAddresserSuite) TestStateAddresses(c *gc.C) { 34 result, err := s.addresser.StateAddresses() 35 c.Assert(err, jc.ErrorIsNil) 36 c.Assert(result.Result, gc.DeepEquals, []string{"addresses:1", "addresses:2"}) 37 } 38 39 func (s *apiAddresserSuite) SetUpTest(c *gc.C) { 40 s.addresser = common.NewAPIAddresser(fakeAddresses{}, common.NewResources()) 41 } 42 43 func (s *apiAddresserSuite) TestAPIAddresses(c *gc.C) { 44 result, err := s.addresser.APIAddresses() 45 c.Assert(err, jc.ErrorIsNil) 46 c.Assert(result.Result, gc.DeepEquals, []string{"apiaddresses:1", "apiaddresses:2"}) 47 } 48 49 func (s *apiAddresserSuite) TestCACert(c *gc.C) { 50 result := s.addresser.CACert() 51 c.Assert(string(result.Result), gc.Equals, "a cert") 52 } 53 54 func (s *apiAddresserSuite) TestEnvironUUID(c *gc.C) { 55 result := s.addresser.EnvironUUID() 56 c.Assert(string(result.Result), gc.Equals, "the environ uuid") 57 } 58 59 var _ common.AddressAndCertGetter = fakeAddresses{} 60 61 type fakeAddresses struct{} 62 63 func (fakeAddresses) Addresses() ([]string, error) { 64 return []string{"addresses:1", "addresses:2"}, nil 65 } 66 67 func (fakeAddresses) APIAddressesFromMachines() ([]string, error) { 68 panic("should never be called") 69 } 70 71 func (fakeAddresses) CACert() string { 72 return "a cert" 73 } 74 75 func (fakeAddresses) EnvironUUID() string { 76 return "the environ uuid" 77 } 78 79 func (fakeAddresses) APIHostPorts() ([][]network.HostPort, error) { 80 return [][]network.HostPort{{{ 81 Address: network.NewAddress("apiaddresses", network.ScopeUnknown), 82 Port: 1, 83 }}, {{ 84 Address: network.NewAddress("apiaddresses", network.ScopeUnknown), 85 Port: 2, 86 }}}, nil 87 } 88 89 func (fakeAddresses) WatchAPIHostPorts() state.NotifyWatcher { 90 panic("should never be called") 91 }