github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/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/core/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(s.CallCtx).Message 38 39 c.Check(status, gc.Equals, google.StatusRunning) 40 s.CheckNoAPI(c) 41 } 42 43 func (s *instanceSuite) TestAddresses(c *gc.C) { 44 addresses, err := s.Instance.Addresses(s.CallCtx) 45 c.Assert(err, jc.ErrorIsNil) 46 47 c.Check(addresses, jc.DeepEquals, s.Addresses) 48 s.CheckNoAPI(c) 49 } 50 51 func (s *instanceSuite) TestOpenPortsAPI(c *gc.C) { 52 err := s.Instance.OpenPorts(s.CallCtx, "42", s.Rules) 53 c.Assert(err, jc.ErrorIsNil) 54 55 c.Check(s.FakeConn.Calls, gc.HasLen, 1) 56 c.Check(s.FakeConn.Calls[0].FuncName, gc.Equals, "OpenPorts") 57 c.Check(s.FakeConn.Calls[0].FirewallName, gc.Equals, s.InstName) 58 c.Check(s.FakeConn.Calls[0].Rules, jc.DeepEquals, s.Rules) 59 } 60 61 func (s *instanceSuite) TestClosePortsAPI(c *gc.C) { 62 err := s.Instance.ClosePorts(s.CallCtx, "42", s.Rules) 63 c.Assert(err, jc.ErrorIsNil) 64 65 c.Check(s.FakeConn.Calls, gc.HasLen, 1) 66 c.Check(s.FakeConn.Calls[0].FuncName, gc.Equals, "ClosePorts") 67 c.Check(s.FakeConn.Calls[0].FirewallName, gc.Equals, s.InstName) 68 c.Check(s.FakeConn.Calls[0].Rules, jc.DeepEquals, s.Rules) 69 } 70 71 func (s *instanceSuite) TestPorts(c *gc.C) { 72 s.FakeConn.Rules = s.Rules 73 74 ports, err := s.Instance.IngressRules(s.CallCtx, "42") 75 c.Assert(err, jc.ErrorIsNil) 76 77 c.Check(ports, jc.DeepEquals, s.Rules) 78 } 79 80 func (s *instanceSuite) TestPortsAPI(c *gc.C) { 81 _, err := s.Instance.IngressRules(s.CallCtx, "42") 82 c.Assert(err, jc.ErrorIsNil) 83 84 c.Check(s.FakeConn.Calls, gc.HasLen, 1) 85 c.Check(s.FakeConn.Calls[0].FuncName, gc.Equals, "Ports") 86 c.Check(s.FakeConn.Calls[0].FirewallName, gc.Equals, s.InstName) 87 }