~nskaggs/+junk/xenial-test

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/provider/lxd/instance_test.go

  • Committer: Nicholas Skaggs
  • Date: 2016-10-24 20:56:05 UTC
  • Revision ID: nicholas.skaggs@canonical.com-20161024205605-z8lta0uvuhtxwzwl
Initi with beta15

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2015 Canonical Ltd.
 
2
// Licensed under the AGPLv3, see LICENCE file for details.
 
3
 
 
4
// +build go1.3
 
5
 
 
6
package lxd_test
 
7
 
 
8
import (
 
9
        gitjujutesting "github.com/juju/testing"
 
10
        jc "github.com/juju/testing/checkers"
 
11
        gc "gopkg.in/check.v1"
 
12
 
 
13
        "github.com/juju/juju/instance"
 
14
        "github.com/juju/juju/provider/lxd"
 
15
        "github.com/juju/juju/tools/lxdclient"
 
16
)
 
17
 
 
18
type instanceSuite struct {
 
19
        lxd.BaseSuite
 
20
}
 
21
 
 
22
var _ = gc.Suite(&instanceSuite{})
 
23
 
 
24
func (s *instanceSuite) TestNewInstance(c *gc.C) {
 
25
        inst := lxd.NewInstance(s.RawInstance, s.Env)
 
26
 
 
27
        c.Check(lxd.ExposeInstRaw(inst), gc.Equals, s.RawInstance)
 
28
        c.Check(lxd.ExposeInstEnv(inst), gc.Equals, s.Env)
 
29
        s.CheckNoAPI(c)
 
30
}
 
31
 
 
32
func (s *instanceSuite) TestID(c *gc.C) {
 
33
        id := s.Instance.Id()
 
34
 
 
35
        c.Check(id, gc.Equals, instance.Id("spam"))
 
36
        s.CheckNoAPI(c)
 
37
}
 
38
 
 
39
func (s *instanceSuite) TestStatus(c *gc.C) {
 
40
        instanceStatus := s.Instance.Status()
 
41
 
 
42
        c.Check(instanceStatus.Message, gc.Equals, lxdclient.StatusRunning)
 
43
        s.CheckNoAPI(c)
 
44
}
 
45
 
 
46
func (s *instanceSuite) TestAddresses(c *gc.C) {
 
47
        addresses, err := s.Instance.Addresses()
 
48
        c.Assert(err, jc.ErrorIsNil)
 
49
 
 
50
        c.Check(addresses, jc.DeepEquals, s.Addresses)
 
51
}
 
52
 
 
53
func (s *instanceSuite) TestOpenPortsAPI(c *gc.C) {
 
54
        err := s.Instance.OpenPorts("42", s.Ports)
 
55
        c.Assert(err, jc.ErrorIsNil)
 
56
 
 
57
        s.Stub.CheckCalls(c, []gitjujutesting.StubCall{{
 
58
                FuncName: "OpenPorts",
 
59
                Args: []interface{}{
 
60
                        s.InstName,
 
61
                        s.Ports,
 
62
                },
 
63
        }})
 
64
}
 
65
 
 
66
func (s *instanceSuite) TestClosePortsAPI(c *gc.C) {
 
67
        err := s.Instance.ClosePorts("42", s.Ports)
 
68
        c.Assert(err, jc.ErrorIsNil)
 
69
 
 
70
        s.Stub.CheckCalls(c, []gitjujutesting.StubCall{{
 
71
                FuncName: "ClosePorts",
 
72
                Args: []interface{}{
 
73
                        s.InstName,
 
74
                        s.Ports,
 
75
                },
 
76
        }})
 
77
}
 
78
 
 
79
func (s *instanceSuite) TestPortsOkay(c *gc.C) {
 
80
        s.Firewaller.PortRanges = s.Ports
 
81
 
 
82
        ports, err := s.Instance.Ports("42")
 
83
        c.Assert(err, jc.ErrorIsNil)
 
84
 
 
85
        c.Check(ports, jc.DeepEquals, s.Ports)
 
86
}
 
87
 
 
88
func (s *instanceSuite) TestPortsAPI(c *gc.C) {
 
89
        _, err := s.Instance.Ports("42")
 
90
        c.Assert(err, jc.ErrorIsNil)
 
91
 
 
92
        s.Stub.CheckCalls(c, []gitjujutesting.StubCall{{
 
93
                FuncName: "Ports",
 
94
                Args: []interface{}{
 
95
                        s.InstName,
 
96
                },
 
97
        }})
 
98
}