github.com/jenkins-x/jx/v2@v2.1.155/pkg/kube/kops_test.go (about) 1 // +build unit 2 3 package kube_test 4 5 import ( 6 "testing" 7 8 "github.com/Jeffail/gabs" 9 "github.com/jenkins-x/jx/v2/pkg/kube" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestInsecureRegistry(t *testing.T) { 14 t.Parallel() 15 registry := "foo.bar.com" 16 17 nodeJSON := "[\\n {\\n \\\"Effect\\\": \\\"Allow\\\",\\n \\\"Action\\\": [\\\"ecr:InitiateLayerUpload\\\", \\\"ecr:UploadLayerPart\\\",\\\"ecr:CompleteLayerUpload\\\",\\\"ecr:PutImage\\\"],\\n \\\"Resource\\\": [\\\"*\\\"]\\n }\\n ]" 18 19 input := `{"kind":"InstanceGroup","apiVersion":"kops/v1alpha2","metadata":{"name":"nodes","creationTimestamp":"2018-03-14T19:30:51Z","labels":{"kops.k8s.io/cluster":"aws1.cluster.k8s.local"}},"spec":{"role":"Node","image":"kope.io/k8s-1.8-debian-jessie-amd64-hvm-ebs-2018-02-08","minSize":2,"maxSize":2,"machineType":"t2.medium","subnets":["eu-west-1a","eu-west-1b","eu-west-1c"],"nodeLabels":{"kops.k8s.io/instancegroup":"nodes"}}}` 20 21 output := `{"kind":"InstanceGroup","apiVersion":"kops/v1alpha2","metadata":{"name":"nodes","creationTimestamp":"2018-03-14T19:30:51Z","labels":{"kops.k8s.io/cluster":"aws1.cluster.k8s.local"}},"spec":{"additionalPolicies":{"node":"` + nodeJSON + `"},"role":"Node","image":"kope.io/k8s-1.8-debian-jessie-amd64-hvm-ebs-2018-02-08","minSize":2,"maxSize":2,"machineType":"t2.medium","subnets":["eu-west-1a","eu-west-1b","eu-west-1c"],"nodeLabels":{"kops.k8s.io/instancegroup":"nodes"},"docker":{"insecureRegistry":"` + registry + `"}}}` 22 23 // lets parse and output the JSON to ensure the same ordering when testing the results 24 outputModel, err := gabs.ParseJSON([]byte(output)) 25 assert.Nil(t, err) 26 expected := outputModel.String() 27 28 result, err := kube.EnableInsecureRegistry(input, registry) 29 assert.Nil(t, err) 30 31 assert.Equal(t, expected, result, "adding insecure registry for %s", registry) 32 }