github.com/kubeshop/testkube@v1.17.23/pkg/cloud/client/environments_test.go (about)

     1  package client
     2  
     3  import (
     4  	"io"
     5  	"net/http"
     6  	"testing"
     7  
     8  	"github.com/stretchr/testify/assert"
     9  )
    10  
    11  func TestEnvironmentsClient_Create(t *testing.T) {
    12  
    13  	t.Run("error on response", func(t *testing.T) {
    14  		// given
    15  		o := NewEnvironmentsClient("testkube.dev", "token", "tkcorg_2bb1486705fb6997")
    16  		o.RESTClient.Client = ClientMock{err: http.ErrNoLocation, validateRequestFunc: func(req *http.Request) error { return nil }}
    17  
    18  		// when
    19  		_, err := o.Create(Environment{})
    20  
    21  		// then
    22  		assert.Error(t, err)
    23  	})
    24  
    25  	t.Run("create org", func(t *testing.T) {
    26  		// given
    27  		o := NewEnvironmentsClient("testkube.dev", "token", "tkcorg_2bb1486705fb6997")
    28  		resp := []byte(`{"id":"tkcenv_7991262606ff41ab","name":"env-name","connected":false,"organizationID":"tkcorg_2bb1486705fb6997","agentToken":"887179cf83a16","installCommand":"helm repo add kubeshop https://kubeshop.github.io/helm-charts ; helm repo update && helm upgrade --install --create-namespace testkube kubeshop/testkube --set testkube-api.cloud.key=tkcagnt_68cf83a16 --set testkube-api.minio.enabled=false --set mongodb.enabled=false --set testkube-dashboard.enabled=false --namespace testkube","installCommandCli":"testkube init --agent-uri agent.testkube.io:443 --agent-key tkcagnt_68dd1ed43a16"}`)
    29  		o.RESTClient.Client = ClientMock{body: []byte(resp), validateRequestFunc: func(r *http.Request) error {
    30  			d, _ := io.ReadAll(r.Body)
    31  			assert.Equal(t, "{\"name\":\"env-name\",\"id\":\"\",\"connected\":false,\"owner\":\"\"}", string(d))
    32  			return nil
    33  		}}
    34  
    35  		// when
    36  		env, err := o.Create(Environment{Name: "env-name"})
    37  
    38  		// then
    39  		assert.NoError(t, err)
    40  		assert.Equal(t, "tkcenv_7991262606ff41ab", env.Id)
    41  		assert.Equal(t, "env-name", env.Name)
    42  		assert.Equal(t, "tkcorg_2bb1486705fb6997", env.OrganizationId)
    43  		assert.Equal(t, "887179cf83a16", env.AgentToken)
    44  	})
    45  }