github.com/makyo/juju@v0.0.0-20160425123129-2608902037e9/provider/lxd/environ_network_test.go (about)

     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/provider/lxd"
    14  )
    15  
    16  type environNetSuite struct {
    17  	lxd.BaseSuite
    18  }
    19  
    20  var _ = gc.Suite(&environNetSuite{})
    21  
    22  func (s *environNetSuite) TestGlobalFirewallName(c *gc.C) {
    23  	uuid := s.Config.UUID()
    24  	fwname := lxd.GlobalFirewallName(s.Env)
    25  
    26  	c.Check(fwname, gc.Equals, "juju-"+uuid)
    27  }
    28  
    29  func (s *environNetSuite) TestOpenPortsOkay(c *gc.C) {
    30  	err := s.Env.OpenPorts(s.Ports)
    31  
    32  	c.Check(err, jc.ErrorIsNil)
    33  }
    34  
    35  func (s *environNetSuite) TestOpenPortsAPI(c *gc.C) {
    36  	fwname := lxd.GlobalFirewallName(s.Env)
    37  	err := s.Env.OpenPorts(s.Ports)
    38  	c.Assert(err, jc.ErrorIsNil)
    39  
    40  	s.Stub.CheckCalls(c, []gitjujutesting.StubCall{{
    41  		FuncName: "OpenPorts",
    42  		Args: []interface{}{
    43  			fwname,
    44  			s.Ports,
    45  		},
    46  	}})
    47  }
    48  
    49  func (s *environNetSuite) TestClosePortsOkay(c *gc.C) {
    50  	err := s.Env.ClosePorts(s.Ports)
    51  
    52  	c.Check(err, jc.ErrorIsNil)
    53  }
    54  
    55  func (s *environNetSuite) TestClosePortsAPI(c *gc.C) {
    56  	fwname := lxd.GlobalFirewallName(s.Env)
    57  	err := s.Env.ClosePorts(s.Ports)
    58  	c.Assert(err, jc.ErrorIsNil)
    59  
    60  	s.Stub.CheckCalls(c, []gitjujutesting.StubCall{{
    61  		FuncName: "ClosePorts",
    62  		Args: []interface{}{
    63  			fwname,
    64  			s.Ports,
    65  		},
    66  	}})
    67  }
    68  
    69  func (s *environNetSuite) TestPortsOkay(c *gc.C) {
    70  	s.Firewaller.PortRanges = s.Ports
    71  
    72  	ports, err := s.Env.Ports()
    73  	c.Assert(err, jc.ErrorIsNil)
    74  
    75  	c.Check(ports, jc.DeepEquals, s.Ports)
    76  }
    77  
    78  func (s *environNetSuite) TestPortsAPI(c *gc.C) {
    79  	fwname := lxd.GlobalFirewallName(s.Env)
    80  	_, err := s.Env.Ports()
    81  	c.Assert(err, jc.ErrorIsNil)
    82  
    83  	s.Stub.CheckCalls(c, []gitjujutesting.StubCall{{
    84  		FuncName: "Ports",
    85  		Args: []interface{}{
    86  			fwname,
    87  		},
    88  	}})
    89  }