github.com/Prakhar-Agarwal-byte/moby@v0.0.0-20231027092010-a14e3e8ab87e/libnetwork/drvregistry/ipams_test.go (about) 1 package drvregistry 2 3 import ( 4 "runtime" 5 "sort" 6 "testing" 7 8 "github.com/Prakhar-Agarwal-byte/moby/libnetwork/ipamapi" 9 builtinIpam "github.com/Prakhar-Agarwal-byte/moby/libnetwork/ipams/builtin" 10 nullIpam "github.com/Prakhar-Agarwal-byte/moby/libnetwork/ipams/null" 11 remoteIpam "github.com/Prakhar-Agarwal-byte/moby/libnetwork/ipams/remote" 12 "gotest.tools/v3/assert" 13 is "gotest.tools/v3/assert/cmp" 14 ) 15 16 func getNewIPAMs(t *testing.T) *IPAMs { 17 r := &IPAMs{} 18 19 assert.Assert(t, builtinIpam.Register(r)) 20 assert.Assert(t, remoteIpam.Register(r, nil)) 21 assert.Assert(t, nullIpam.Register(r)) 22 23 return r 24 } 25 26 func TestIPAMs(t *testing.T) { 27 t.Run("IPAM", func(t *testing.T) { 28 reg := getNewIPAMs(t) 29 30 i, caps := reg.IPAM("default") 31 assert.Check(t, i != nil) 32 assert.Check(t, caps != nil) 33 }) 34 35 t.Run("WalkIPAMs", func(t *testing.T) { 36 reg := getNewIPAMs(t) 37 38 ipams := make([]string, 0, 2) 39 reg.WalkIPAMs(func(name string, driver ipamapi.Ipam, cap *ipamapi.Capability) bool { 40 ipams = append(ipams, name) 41 return false 42 }) 43 44 sort.Strings(ipams) 45 expected := []string{"default", "null"} 46 if runtime.GOOS == "windows" { 47 expected = append(expected, "windows") 48 } 49 assert.Check(t, is.DeepEqual(ipams, expected)) 50 }) 51 }