github.com/moby/docker@v26.1.3+incompatible/libnetwork/cnmallocator/provider_test.go (about)

     1  package cnmallocator
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/moby/swarmkit/v2/api"
     7  	"github.com/moby/swarmkit/v2/testutils"
     8  	"google.golang.org/grpc/codes"
     9  	"gotest.tools/v3/assert"
    10  	is "gotest.tools/v3/assert/cmp"
    11  )
    12  
    13  func TestValidateDriver(t *testing.T) {
    14  	p := NewProvider(nil)
    15  
    16  	for _, tt := range []struct {
    17  		name      string
    18  		validator func(*api.Driver) error
    19  	}{
    20  		{"IPAM", p.ValidateIPAMDriver},
    21  		{"Network", p.ValidateNetworkDriver},
    22  	} {
    23  		t.Run(tt.name, func(t *testing.T) {
    24  			assert.Check(t, tt.validator(nil))
    25  
    26  			err := tt.validator(&api.Driver{Name: ""})
    27  			assert.Check(t, is.ErrorContains(err, ""))
    28  			assert.Check(t, is.Equal(codes.InvalidArgument, testutils.ErrorCode(err)))
    29  		})
    30  	}
    31  }