1
// Copyright 2015 Canonical Ltd.
2
// Licensed under the AGPLv3, see LICENCE file for details.
9
gitjujutesting "github.com/juju/testing"
10
jc "github.com/juju/testing/checkers"
11
gc "gopkg.in/check.v1"
13
"github.com/juju/juju/instance"
14
"github.com/juju/juju/provider/lxd"
15
"github.com/juju/juju/tools/lxdclient"
18
type instanceSuite struct {
22
var _ = gc.Suite(&instanceSuite{})
24
func (s *instanceSuite) TestNewInstance(c *gc.C) {
25
inst := lxd.NewInstance(s.RawInstance, s.Env)
27
c.Check(lxd.ExposeInstRaw(inst), gc.Equals, s.RawInstance)
28
c.Check(lxd.ExposeInstEnv(inst), gc.Equals, s.Env)
32
func (s *instanceSuite) TestID(c *gc.C) {
35
c.Check(id, gc.Equals, instance.Id("spam"))
39
func (s *instanceSuite) TestStatus(c *gc.C) {
40
instanceStatus := s.Instance.Status()
42
c.Check(instanceStatus.Message, gc.Equals, lxdclient.StatusRunning)
46
func (s *instanceSuite) TestAddresses(c *gc.C) {
47
addresses, err := s.Instance.Addresses()
48
c.Assert(err, jc.ErrorIsNil)
50
c.Check(addresses, jc.DeepEquals, s.Addresses)
53
func (s *instanceSuite) TestOpenPortsAPI(c *gc.C) {
54
err := s.Instance.OpenPorts("42", s.Ports)
55
c.Assert(err, jc.ErrorIsNil)
57
s.Stub.CheckCalls(c, []gitjujutesting.StubCall{{
58
FuncName: "OpenPorts",
66
func (s *instanceSuite) TestClosePortsAPI(c *gc.C) {
67
err := s.Instance.ClosePorts("42", s.Ports)
68
c.Assert(err, jc.ErrorIsNil)
70
s.Stub.CheckCalls(c, []gitjujutesting.StubCall{{
71
FuncName: "ClosePorts",
79
func (s *instanceSuite) TestPortsOkay(c *gc.C) {
80
s.Firewaller.PortRanges = s.Ports
82
ports, err := s.Instance.Ports("42")
83
c.Assert(err, jc.ErrorIsNil)
85
c.Check(ports, jc.DeepEquals, s.Ports)
88
func (s *instanceSuite) TestPortsAPI(c *gc.C) {
89
_, err := s.Instance.Ports("42")
90
c.Assert(err, jc.ErrorIsNil)
92
s.Stub.CheckCalls(c, []gitjujutesting.StubCall{{