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  }