| package cnmallocator |
| |
| import ( |
| "testing" |
| |
| "github.com/moby/swarmkit/v2/api" |
| "github.com/moby/swarmkit/v2/testutils" |
| "google.golang.org/grpc/codes" |
| "gotest.tools/v3/assert" |
| is "gotest.tools/v3/assert/cmp" |
| ) |
| |
| func TestValidateDriver(t *testing.T) { |
| p := NewProvider(nil) |
| |
| for _, tt := range []struct { |
| name string |
| validator func(*api.Driver) error |
| }{ |
| {"IPAM", p.ValidateIPAMDriver}, |
| {"Network", p.ValidateNetworkDriver}, |
| } { |
| t.Run(tt.name, func(t *testing.T) { |
| assert.Check(t, tt.validator(nil)) |
| |
| err := tt.validator(&api.Driver{Name: ""}) |
| assert.Check(t, is.ErrorContains(err, "")) |
| assert.Check(t, is.Equal(codes.InvalidArgument, testutils.ErrorCode(err))) |
| }) |
| } |
| } |