github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/provider/oracle/network/util_test.go (about)

     1  // Copyright 2017 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package network_test
     5  
     6  import (
     7  	jc "github.com/juju/testing/checkers"
     8  	gc "gopkg.in/check.v1"
     9  
    10  	"github.com/juju/juju/provider/oracle/network"
    11  )
    12  
    13  type utilSuite struct{}
    14  
    15  var _ = gc.Suite(&utilSuite{})
    16  
    17  func (u *utilSuite) TestGetMacAndIP(c *gc.C) {
    18  	macAddress := "29-E7-9F-D9-83-C8"
    19  	ipAddress := "120.120.120.0"
    20  	address := []string{
    21  		macAddress,
    22  		ipAddress,
    23  	}
    24  
    25  	mac, ip, err := network.GetMacAndIP(address)
    26  	c.Assert(err, gc.IsNil)
    27  	c.Assert(mac, jc.DeepEquals, macAddress)
    28  	c.Assert(ip, jc.DeepEquals, ipAddress)
    29  }
    30  
    31  func (u *utilSuite) TestGetMacAndIPWithError(c *gc.C) {
    32  	macAddress1 := "29-E7-9F-D9-83-C8"
    33  	macAddress2 := "UDIUSHIDUSIDHSIUDh"
    34  	ipAddress1 := "idaijds.daisdia.daishd"
    35  	ipAddress2 := "127.0.0.1"
    36  
    37  	address := []string{
    38  		macAddress1,
    39  		ipAddress1,
    40  		macAddress2,
    41  		ipAddress2,
    42  	}
    43  
    44  	mac, ip, err := network.GetMacAndIP(address)
    45  	c.Assert(err, gc.NotNil)
    46  	c.Assert(mac, jc.DeepEquals, macAddress1)
    47  	c.Assert(ip, jc.DeepEquals, "")
    48  
    49  	mac, ip, err = network.GetMacAndIP(nil)
    50  	c.Assert(err, gc.NotNil)
    51  	c.Assert(mac, jc.DeepEquals, "")
    52  	c.Assert(ip, jc.DeepEquals, "")
    53  
    54  	address = []string{
    55  		ipAddress2,
    56  		ipAddress1,
    57  	}
    58  
    59  	mac, ip, err = network.GetMacAndIP(address)
    60  	c.Assert(err, gc.NotNil)
    61  	c.Assert(mac, jc.DeepEquals, "")
    62  	c.Assert(ip, jc.DeepEquals, ipAddress2)
    63  }