github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/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().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()
    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("spam", s.Ports)
    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].PortRanges, jc.DeepEquals, s.Ports)
    59  }
    60  
    61  func (s *instanceSuite) TestClosePortsAPI(c *gc.C) {
    62  	err := s.Instance.ClosePorts("spam", s.Ports)
    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].PortRanges, jc.DeepEquals, s.Ports)
    69  }
    70  
    71  func (s *instanceSuite) TestPorts(c *gc.C) {
    72  	s.FakeConn.PortRanges = s.Ports
    73  
    74  	ports, err := s.Instance.Ports("spam")
    75  	c.Assert(err, jc.ErrorIsNil)
    76  
    77  	c.Check(ports, jc.DeepEquals, s.Ports)
    78  }
    79  
    80  func (s *instanceSuite) TestPortsAPI(c *gc.C) {
    81  	_, err := s.Instance.Ports("spam")
    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  }