From a51043157b9f58609d02f9c95feb3ac5aaed3e1d Mon Sep 17 00:00:00 2001 From: Pieszka Date: Tue, 4 Feb 2025 11:04:54 +0100 Subject: [PATCH 1/6] assert workers and additional workers on runtimes endpoint --- cmd/broker/provisioning_test.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/cmd/broker/provisioning_test.go b/cmd/broker/provisioning_test.go index c3abbc9362..1eec58b16a 100644 --- a/cmd/broker/provisioning_test.go +++ b/cmd/broker/provisioning_test.go @@ -6,6 +6,7 @@ import ( "encoding/json" "fmt" "io" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "net/http" "os" "testing" @@ -19,6 +20,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/kyma-project/kyma-environment-broker/common/hyperscaler" + pkg "github.com/kyma-project/kyma-environment-broker/common/runtime" "github.com/kyma-project/kyma-environment-broker/internal" "github.com/kyma-project/kyma-environment-broker/internal/broker" @@ -1931,4 +1933,34 @@ func TestProvisioningWithAdditionalWorkerNodePools(t *testing.T) { assert.Len(t, *runtime.Spec.Shoot.Provider.AdditionalWorkers, 2) suite.assertAdditionalWorkerIsCreated(t, runtime.Spec.Shoot.Provider, "name-1", "m6i.large", 3, 20, 3) suite.assertAdditionalWorkerIsCreated(t, runtime.Spec.Shoot.Provider, "name-2", "m5.large", 1, 1, 1) + + resp = suite.CallAPI("GET", fmt.Sprintf("runtimes?runtime_config=true&account=%s&subaccount=%s&state=provisioned", "g-account-id", "sub-id"), "") + response, err := io.ReadAll(resp.Body) + assert.NoError(t, err) + var runtimes pkg.RuntimesPage + + err = json.Unmarshal(response, &runtimes) + + assert.Len(t, runtimes.Data, 1) + assert.NotNil(t, runtimes.Data[0].InstanceID) + config := runtimes.Data[0].RuntimeConfig + provider, ok, err := unstructured.NestedMap(*config, "spec", "shoot", "provider") + assert.True(t, ok) + assert.NoError(t, err) + workers, ok, err := unstructured.NestedSlice(provider, "workers") + additionalWorkers, ok, err := unstructured.NestedSlice(provider, "additionalWorkers") + assert.True(t, ok) + assert.NoError(t, err) + + assert.Len(t, workers, 1) + assert.Len(t, additionalWorkers, 2) + + assert.Equal(t, "cpu-worker-0", workers[0].(map[string]interface{})["name"]) + assert.Equal(t, "name-1", additionalWorkers[0].(map[string]interface{})["name"]) + assert.Equal(t, "name-2", additionalWorkers[1].(map[string]interface{})["name"]) + + assert.NoError(t, err) + assert.NotNil(t, config) + assert.Equal(t, http.StatusOK, resp.StatusCode) + } From d6d6c5bee05e3f8422abbf166382382fbe9331ad Mon Sep 17 00:00:00 2001 From: Pieszka Date: Tue, 4 Feb 2025 11:09:13 +0100 Subject: [PATCH 2/6] no assertion on id --- cmd/broker/provisioning_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/cmd/broker/provisioning_test.go b/cmd/broker/provisioning_test.go index 1eec58b16a..dc3436395b 100644 --- a/cmd/broker/provisioning_test.go +++ b/cmd/broker/provisioning_test.go @@ -1942,7 +1942,6 @@ func TestProvisioningWithAdditionalWorkerNodePools(t *testing.T) { err = json.Unmarshal(response, &runtimes) assert.Len(t, runtimes.Data, 1) - assert.NotNil(t, runtimes.Data[0].InstanceID) config := runtimes.Data[0].RuntimeConfig provider, ok, err := unstructured.NestedMap(*config, "spec", "shoot", "provider") assert.True(t, ok) From 91aef909dd9e2e7822b15d50b03d388bd6f17ac5 Mon Sep 17 00:00:00 2001 From: Pieszka Date: Tue, 4 Feb 2025 11:13:33 +0100 Subject: [PATCH 3/6] missing assertions --- cmd/broker/provisioning_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmd/broker/provisioning_test.go b/cmd/broker/provisioning_test.go index dc3436395b..30bd5301b9 100644 --- a/cmd/broker/provisioning_test.go +++ b/cmd/broker/provisioning_test.go @@ -1946,7 +1946,11 @@ func TestProvisioningWithAdditionalWorkerNodePools(t *testing.T) { provider, ok, err := unstructured.NestedMap(*config, "spec", "shoot", "provider") assert.True(t, ok) assert.NoError(t, err) + workers, ok, err := unstructured.NestedSlice(provider, "workers") + assert.True(t, ok) + assert.NoError(t, err) + additionalWorkers, ok, err := unstructured.NestedSlice(provider, "additionalWorkers") assert.True(t, ok) assert.NoError(t, err) From 2b70a0ae40e221393077a483b926c1f6c541428c Mon Sep 17 00:00:00 2001 From: Pieszka Date: Tue, 4 Feb 2025 11:14:14 +0100 Subject: [PATCH 4/6] refactor --- cmd/broker/provisioning_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/broker/provisioning_test.go b/cmd/broker/provisioning_test.go index 30bd5301b9..dda270d933 100644 --- a/cmd/broker/provisioning_test.go +++ b/cmd/broker/provisioning_test.go @@ -1943,6 +1943,8 @@ func TestProvisioningWithAdditionalWorkerNodePools(t *testing.T) { assert.Len(t, runtimes.Data, 1) config := runtimes.Data[0].RuntimeConfig + assert.NotNil(t, config) + provider, ok, err := unstructured.NestedMap(*config, "spec", "shoot", "provider") assert.True(t, ok) assert.NoError(t, err) @@ -1962,8 +1964,6 @@ func TestProvisioningWithAdditionalWorkerNodePools(t *testing.T) { assert.Equal(t, "name-1", additionalWorkers[0].(map[string]interface{})["name"]) assert.Equal(t, "name-2", additionalWorkers[1].(map[string]interface{})["name"]) - assert.NoError(t, err) - assert.NotNil(t, config) assert.Equal(t, http.StatusOK, resp.StatusCode) } From 360422deba5d51ae6a7314863d51010f662d023e Mon Sep 17 00:00:00 2001 From: Pieszka Date: Tue, 4 Feb 2025 11:28:05 +0100 Subject: [PATCH 5/6] go imports --- cmd/broker/provisioning_test.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmd/broker/provisioning_test.go b/cmd/broker/provisioning_test.go index dda270d933..660fbdd48c 100644 --- a/cmd/broker/provisioning_test.go +++ b/cmd/broker/provisioning_test.go @@ -6,11 +6,13 @@ import ( "encoding/json" "fmt" "io" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "net/http" "os" "testing" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + + "github.com/kyma-project/kyma-environment-broker/int "github.com/kyma-project/kyma-environment-broker/internal/provider" "github.com/stretchr/testify/require" From 2fb5d26cb4b11e1bde11b3ae679c9d537db5c2d7 Mon Sep 17 00:00:00 2001 From: Pieszka Date: Tue, 4 Feb 2025 11:33:29 +0100 Subject: [PATCH 6/6] go imports corrected --- cmd/broker/provisioning_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/cmd/broker/provisioning_test.go b/cmd/broker/provisioning_test.go index 660fbdd48c..cbfc0eb475 100644 --- a/cmd/broker/provisioning_test.go +++ b/cmd/broker/provisioning_test.go @@ -12,7 +12,6 @@ import ( "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "github.com/kyma-project/kyma-environment-broker/int "github.com/kyma-project/kyma-environment-broker/internal/provider" "github.com/stretchr/testify/require"