github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/swarmkit/manager/controlapi/common_test.go (about) 1 package controlapi 2 3 import ( 4 "testing" 5 6 "github.com/docker/swarmkit/api" 7 "github.com/docker/swarmkit/testutils" 8 "github.com/stretchr/testify/assert" 9 "google.golang.org/grpc/codes" 10 ) 11 12 func TestValidateAnnotations(t *testing.T) { 13 err := validateAnnotations(api.Annotations{}) 14 assert.Error(t, err) 15 assert.Equal(t, codes.InvalidArgument, testutils.ErrorCode(err)) 16 17 for _, good := range []api.Annotations{ 18 {Name: "name"}, 19 {Name: "n-me"}, 20 {Name: "n_me"}, 21 {Name: "n-m-e"}, 22 {Name: "n--d"}, 23 } { 24 err := validateAnnotations(good) 25 assert.NoError(t, err, "string: "+good.Name) 26 } 27 28 for _, bad := range []api.Annotations{ 29 {Name: "_nam"}, 30 {Name: ".nam"}, 31 {Name: "-nam"}, 32 {Name: "nam-"}, 33 {Name: "n/me"}, 34 {Name: "n&me"}, 35 {Name: "////"}, 36 } { 37 err := validateAnnotations(bad) 38 assert.Error(t, err, "string: "+bad.Name) 39 } 40 }