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