github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/provider/gce/instance_test.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package gce_test 5 6 import ( 7 jc "github.com/juju/testing/checkers" 8 gc "gopkg.in/check.v1" 9 10 "github.com/juju/juju/instance" 11 "github.com/juju/juju/provider/gce" 12 "github.com/juju/juju/provider/gce/google" 13 ) 14 15 type instanceSuite struct { 16 gce.BaseSuite 17 } 18 19 var _ = gc.Suite(&instanceSuite{}) 20 21 func (s *instanceSuite) TestNewInstance(c *gc.C) { 22 inst := gce.NewInstance(s.BaseInstance, s.Env) 23 24 c.Check(gce.ExposeInstBase(inst), gc.Equals, s.BaseInstance) 25 c.Check(gce.ExposeInstEnv(inst), gc.Equals, s.Env) 26 s.CheckNoAPI(c) 27 } 28 29 func (s *instanceSuite) TestID(c *gc.C) { 30 id := s.Instance.Id() 31 32 c.Check(id, gc.Equals, instance.Id("spam")) 33 s.CheckNoAPI(c) 34 } 35 36 func (s *instanceSuite) TestStatus(c *gc.C) { 37 status := s.Instance.Status() 38 39 c.Check(status, gc.Equals, google.StatusRunning) 40 s.CheckNoAPI(c) 41 } 42 43 func (s *instanceSuite) TestRefreshAPI(c *gc.C) { 44 s.FakeConn.Inst = s.BaseInstance 45 46 err := s.Instance.Refresh() 47 c.Assert(err, jc.ErrorIsNil) 48 49 c.Check(s.FakeConn.Calls, gc.HasLen, 1) 50 c.Check(s.FakeConn.Calls[0].FuncName, gc.Equals, "Instance") 51 c.Check(s.FakeConn.Calls[0].ID, gc.Equals, "spam") 52 c.Check(s.FakeConn.Calls[0].ZoneName, gc.Equals, "home-zone") 53 } 54 55 func (s *instanceSuite) TestAddresses(c *gc.C) { 56 addresses, err := s.Instance.Addresses() 57 c.Assert(err, jc.ErrorIsNil) 58 59 c.Check(addresses, jc.DeepEquals, s.Addresses) 60 s.CheckNoAPI(c) 61 } 62 63 func (s *instanceSuite) TestOpenPortsAPI(c *gc.C) { 64 err := s.Instance.OpenPorts("spam", s.Ports) 65 c.Assert(err, jc.ErrorIsNil) 66 67 c.Check(s.FakeConn.Calls, gc.HasLen, 1) 68 c.Check(s.FakeConn.Calls[0].FuncName, gc.Equals, "OpenPorts") 69 c.Check(s.FakeConn.Calls[0].FirewallName, gc.Equals, s.InstName) 70 c.Check(s.FakeConn.Calls[0].PortRanges, jc.DeepEquals, s.Ports) 71 } 72 73 func (s *instanceSuite) TestClosePortsAPI(c *gc.C) { 74 err := s.Instance.ClosePorts("spam", s.Ports) 75 c.Assert(err, jc.ErrorIsNil) 76 77 c.Check(s.FakeConn.Calls, gc.HasLen, 1) 78 c.Check(s.FakeConn.Calls[0].FuncName, gc.Equals, "ClosePorts") 79 c.Check(s.FakeConn.Calls[0].FirewallName, gc.Equals, s.InstName) 80 c.Check(s.FakeConn.Calls[0].PortRanges, jc.DeepEquals, s.Ports) 81 } 82 83 func (s *instanceSuite) TestPorts(c *gc.C) { 84 s.FakeConn.PortRanges = s.Ports 85 86 ports, err := s.Instance.Ports("spam") 87 c.Assert(err, jc.ErrorIsNil) 88 89 c.Check(ports, jc.DeepEquals, s.Ports) 90 } 91 92 func (s *instanceSuite) TestPortsAPI(c *gc.C) { 93 _, err := s.Instance.Ports("spam") 94 c.Assert(err, jc.ErrorIsNil) 95 96 c.Check(s.FakeConn.Calls, gc.HasLen, 1) 97 c.Check(s.FakeConn.Calls[0].FuncName, gc.Equals, "Ports") 98 c.Check(s.FakeConn.Calls[0].FirewallName, gc.Equals, s.InstName) 99 }