networks_test.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package drvregistry
  2. import (
  3. "testing"
  4. "github.com/docker/docker/libnetwork/driverapi"
  5. "gotest.tools/v3/assert"
  6. is "gotest.tools/v3/assert/cmp"
  7. )
  8. func TestNetworks(t *testing.T) {
  9. t.Run("RegisterDriver", func(t *testing.T) {
  10. var reg Networks
  11. err := reg.RegisterDriver(mockDriverName, &md, mockDriverCaps)
  12. assert.NilError(t, err)
  13. })
  14. t.Run("RegisterDuplicateDriver", func(t *testing.T) {
  15. var reg Networks
  16. err := reg.RegisterDriver(mockDriverName, &md, mockDriverCaps)
  17. assert.NilError(t, err)
  18. // Try adding the same driver
  19. err = reg.RegisterDriver(mockDriverName, &md, mockDriverCaps)
  20. assert.Check(t, is.ErrorContains(err, ""))
  21. })
  22. t.Run("Driver", func(t *testing.T) {
  23. var reg Networks
  24. err := reg.RegisterDriver(mockDriverName, &md, mockDriverCaps)
  25. assert.NilError(t, err)
  26. d, cap := reg.Driver(mockDriverName)
  27. assert.Check(t, d != nil)
  28. assert.Check(t, is.DeepEqual(cap, mockDriverCaps))
  29. })
  30. t.Run("WalkDrivers", func(t *testing.T) {
  31. var reg Networks
  32. err := reg.RegisterDriver(mockDriverName, &md, mockDriverCaps)
  33. assert.NilError(t, err)
  34. var driverName string
  35. reg.WalkDrivers(func(name string, driver driverapi.Driver, capability driverapi.Capability) bool {
  36. driverName = name
  37. return false
  38. })
  39. assert.Check(t, is.Equal(driverName, mockDriverName))
  40. })
  41. }