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  }