mirror of https://github.com/docker/docs.git
Add somes tests to virtualbox driver
Signed-off-by: David Gageot <david@gageot.net>
This commit is contained in:
parent
53c5198a5a
commit
e812df723c
|
@ -7,8 +7,8 @@ import (
|
|||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
var (
|
||||
testDiskInfoText = `
|
||||
const (
|
||||
validDiskInfoText = `
|
||||
storagecontrollerbootable0="on"
|
||||
"SATA-0-0"="/home/ehazlett/.boot2docker/boot2docker.iso"
|
||||
"SATA-IsEjected"="off"
|
||||
|
@ -22,7 +22,7 @@ nic1="nat"
|
|||
func TestVMDiskInfo(t *testing.T) {
|
||||
vbox := &VBoxManagerMock{
|
||||
args: "showvminfo default --machinereadable",
|
||||
stdOut: testDiskInfoText,
|
||||
stdOut: validDiskInfoText,
|
||||
}
|
||||
|
||||
disk, err := getVMDiskInfo("default", vbox)
|
||||
|
|
|
@ -75,9 +75,10 @@ func listHostOnlyNetworks(vbox VBoxManager) (map[string]*hostOnlyNetwork, error)
|
|||
return nil, err
|
||||
}
|
||||
|
||||
s := bufio.NewScanner(strings.NewReader(out))
|
||||
m := map[string]*hostOnlyNetwork{}
|
||||
n := &hostOnlyNetwork{}
|
||||
|
||||
s := bufio.NewScanner(strings.NewReader(out))
|
||||
for s.Scan() {
|
||||
line := s.Text()
|
||||
if line == "" {
|
||||
|
@ -85,10 +86,12 @@ func listHostOnlyNetworks(vbox VBoxManager) (map[string]*hostOnlyNetwork, error)
|
|||
n = &hostOnlyNetwork{}
|
||||
continue
|
||||
}
|
||||
|
||||
res := reColonLine.FindStringSubmatch(line)
|
||||
if res == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
switch key, val := res[1], res[2]; key {
|
||||
case "Name":
|
||||
n.Name = val
|
||||
|
@ -122,6 +125,7 @@ func listHostOnlyNetworks(vbox VBoxManager) (map[string]*hostOnlyNetwork, error)
|
|||
n.NetworkName = val
|
||||
}
|
||||
}
|
||||
|
||||
if err := s.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
@ -4,6 +4,8 @@ import (
|
|||
"net"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
// Tests that when we have a host only network which matches our expectations,
|
||||
|
@ -82,3 +84,91 @@ func TestGetHostOnlyNetworkWindows10Bug(t *testing.T) {
|
|||
t.Fatalf("Expected result of calling getHostOnlyNetwork to be the same as expected but it was not:\nexpected: %+v\nactual: %+v\n", expectedHostOnlyNetwork, n)
|
||||
}
|
||||
}
|
||||
|
||||
func TestListHostOnlyNetworks(t *testing.T) {
|
||||
vbox := &VBoxManagerMock{
|
||||
args: "list hostonlyifs",
|
||||
stdOut: `Name: vboxnet0
|
||||
GUID: 786f6276-656e-4074-8000-0a0027000000
|
||||
DHCP: Disabled
|
||||
IPAddress: 192.168.99.1
|
||||
NetworkMask: 255.255.255.0
|
||||
IPV6Address:
|
||||
IPV6NetworkMaskPrefixLength: 0
|
||||
HardwareAddress: 0a:00:27:00:00:00
|
||||
MediumType: Ethernet
|
||||
Status: Up
|
||||
VBoxNetworkName: HostInterfaceNetworking-vboxnet0
|
||||
|
||||
`,
|
||||
}
|
||||
|
||||
nets, err := listHostOnlyNetworks(vbox)
|
||||
|
||||
assert.Equal(t, 1, len(nets))
|
||||
assert.NoError(t, err)
|
||||
|
||||
net, present := nets["HostInterfaceNetworking-vboxnet0"]
|
||||
|
||||
assert.True(t, present)
|
||||
assert.Equal(t, "vboxnet0", net.Name)
|
||||
assert.Equal(t, "786f6276-656e-4074-8000-0a0027000000", net.GUID)
|
||||
assert.False(t, net.DHCP)
|
||||
assert.Equal(t, "192.168.99.1", net.IPv4.IP.String())
|
||||
assert.Equal(t, "ffffff00", net.IPv4.Mask.String())
|
||||
assert.Empty(t, net.IPv6.IP)
|
||||
assert.Equal(t, "0a:00:27:00:00:00", net.HwAddr.String())
|
||||
assert.Equal(t, "Ethernet", net.Medium)
|
||||
assert.Equal(t, "Up", net.Status)
|
||||
assert.Equal(t, "HostInterfaceNetworking-vboxnet0", net.NetworkName)
|
||||
}
|
||||
|
||||
func TestListTwoHostOnlyNetworks(t *testing.T) {
|
||||
vbox := &VBoxManagerMock{
|
||||
args: "list hostonlyifs",
|
||||
stdOut: `Name: vboxnet0
|
||||
GUID: 786f6276-656e-4074-8000-0a0027000000
|
||||
DHCP: Disabled
|
||||
IPAddress: 192.168.99.1
|
||||
NetworkMask: 255.255.255.0
|
||||
IPV6Address:
|
||||
IPV6NetworkMaskPrefixLength: 0
|
||||
HardwareAddress: 0a:00:27:00:00:00
|
||||
MediumType: Ethernet
|
||||
Status: Up
|
||||
VBoxNetworkName: HostInterfaceNetworking-vboxnet0
|
||||
|
||||
Name: vboxnet1
|
||||
GUID: 786f6276-656e-4174-8000-0a0027000001
|
||||
DHCP: Disabled
|
||||
IPAddress: 192.168.99.1
|
||||
NetworkMask: 255.255.255.0
|
||||
IPV6Address:
|
||||
IPV6NetworkMaskPrefixLength: 0
|
||||
HardwareAddress: 0a:00:27:00:00:01
|
||||
MediumType: Ethernet
|
||||
Status: Up
|
||||
VBoxNetworkName: HostInterfaceNetworking-vboxnet1
|
||||
|
||||
`,
|
||||
}
|
||||
|
||||
nets, err := listHostOnlyNetworks(vbox)
|
||||
|
||||
assert.Equal(t, 2, len(nets))
|
||||
assert.NoError(t, err)
|
||||
|
||||
net, present := nets["HostInterfaceNetworking-vboxnet1"]
|
||||
|
||||
assert.True(t, present)
|
||||
assert.Equal(t, "vboxnet1", net.Name)
|
||||
assert.Equal(t, "786f6276-656e-4174-8000-0a0027000001", net.GUID)
|
||||
assert.False(t, net.DHCP)
|
||||
assert.Equal(t, "192.168.99.1", net.IPv4.IP.String())
|
||||
assert.Equal(t, "ffffff00", net.IPv4.Mask.String())
|
||||
assert.Empty(t, net.IPv6.IP)
|
||||
assert.Equal(t, "0a:00:27:00:00:01", net.HwAddr.String())
|
||||
assert.Equal(t, "Ethernet", net.Medium)
|
||||
assert.Equal(t, "Up", net.Status)
|
||||
assert.Equal(t, "HostInterfaceNetworking-vboxnet1", net.NetworkName)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue