github.com/tonistiigi/docker@v0.10.1-0.20240229224939-974013b0dc6a/libnetwork/service_common_unix_test.go (about) 1 //go:build !windows 2 3 package libnetwork 4 5 import ( 6 "net" 7 "testing" 8 9 "github.com/docker/docker/internal/testutils/netnsutils" 10 "gotest.tools/v3/assert" 11 ) 12 13 func TestCleanupServiceDiscovery(t *testing.T) { 14 defer netnsutils.SetupTestOSContext(t)() 15 c, err := New(OptionBoltdbWithRandomDBFile(t)) 16 assert.NilError(t, err) 17 defer c.Stop() 18 19 cleanup := func(n *Network) { 20 if err := n.Delete(); err != nil { 21 t.Error(err) 22 } 23 } 24 n1, err := c.NewNetwork("bridge", "net1", "", nil) 25 assert.NilError(t, err) 26 defer cleanup(n1) 27 28 n2, err := c.NewNetwork("bridge", "net2", "", nil) 29 assert.NilError(t, err) 30 defer cleanup(n2) 31 32 n1.addSvcRecords("N1ep1", "service_test", "serviceID1", net.ParseIP("192.168.0.1"), net.IP{}, true, "test") 33 n1.addSvcRecords("N2ep2", "service_test", "serviceID2", net.ParseIP("192.168.0.2"), net.IP{}, true, "test") 34 35 n2.addSvcRecords("N2ep1", "service_test", "serviceID1", net.ParseIP("192.168.1.1"), net.IP{}, true, "test") 36 n2.addSvcRecords("N2ep2", "service_test", "serviceID2", net.ParseIP("192.168.1.2"), net.IP{}, true, "test") 37 38 if len(c.svcRecords) != 2 { 39 t.Fatalf("Service record not added correctly:%v", c.svcRecords) 40 } 41 42 // cleanup net1 43 c.cleanupServiceDiscovery(n1.ID()) 44 45 if len(c.svcRecords) != 1 { 46 t.Fatalf("Service record not cleaned correctly:%v", c.svcRecords) 47 } 48 49 c.cleanupServiceDiscovery("") 50 51 if len(c.svcRecords) != 0 { 52 t.Fatalf("Service record not cleaned correctly:%v", c.svcRecords) 53 } 54 }