/usr/share/gocode/src/github.com/docker/libnetwork/drivers/solaris/overlay/ovmanager/ovmanager_test.go is in golang-github-docker-libnetwork-dev 0.8.0-dev.2+git20170202.599.45b4086-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | // +build solaris
package ovmanager
import (
"fmt"
"net"
"strings"
"testing"
"github.com/docker/libnetwork/driverapi"
"github.com/docker/libnetwork/idm"
"github.com/docker/libnetwork/netlabel"
"github.com/docker/libnetwork/types"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func newDriver(t *testing.T) *driver {
d := &driver{
networks: networkTable{},
}
vxlanIdm, err := idm.New(nil, "vxlan-id", vxlanIDStart, vxlanIDEnd)
require.NoError(t, err)
d.vxlanIdm = vxlanIdm
return d
}
func parseCIDR(t *testing.T, ipnet string) *net.IPNet {
subnet, err := types.ParseCIDR(ipnet)
require.NoError(t, err)
return subnet
}
func TestNetworkAllocateFree(t *testing.T) {
d := newDriver(t)
ipamData := []driverapi.IPAMData{
{
Pool: parseCIDR(t, "10.1.1.0/24"),
},
{
Pool: parseCIDR(t, "10.1.2.0/24"),
},
}
vals, err := d.NetworkAllocate("testnetwork", nil, ipamData, nil)
require.NoError(t, err)
vxlanIDs, ok := vals[netlabel.OverlayVxlanIDList]
assert.Equal(t, true, ok)
assert.Equal(t, 2, len(strings.Split(vxlanIDs, ",")))
err = d.NetworkFree("testnetwork")
require.NoError(t, err)
}
func TestNetworkAllocateUserDefinedVNIs(t *testing.T) {
d := newDriver(t)
ipamData := []driverapi.IPAMData{
{
Pool: parseCIDR(t, "10.1.1.0/24"),
},
{
Pool: parseCIDR(t, "10.1.2.0/24"),
},
}
options := make(map[string]string)
// Intentionally add mode vnis than subnets
options[netlabel.OverlayVxlanIDList] = fmt.Sprintf("%d,%d,%d", 256, 257, 258)
vals, err := d.NetworkAllocate("testnetwork", options, ipamData, nil)
require.NoError(t, err)
vxlanIDs, ok := vals[netlabel.OverlayVxlanIDList]
assert.Equal(t, true, ok)
// We should only get exactly the same number of vnis as
// subnets. No more, no less, even if we passed more vnis.
assert.Equal(t, 2, len(strings.Split(vxlanIDs, ",")))
assert.Equal(t, fmt.Sprintf("%d,%d", 256, 257), vxlanIDs)
err = d.NetworkFree("testnetwork")
require.NoError(t, err)
}
|