service_common_unix_test.go 1.4 KB

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