From f632e7b644e086c8939c10792fe10477e905e2c2 Mon Sep 17 00:00:00 2001 From: I501080 Date: Wed, 10 Jan 2024 16:38:54 +0200 Subject: [PATCH] add test --- internal/utils/parameters.go | 38 +++++++++++++++---------------- internal/utils/parameters_test.go | 23 +++++++++++++++++++ 2 files changed, 42 insertions(+), 19 deletions(-) create mode 100644 internal/utils/parameters_test.go diff --git a/internal/utils/parameters.go b/internal/utils/parameters.go index 4d159f95..ae639ccd 100644 --- a/internal/utils/parameters.go +++ b/internal/utils/parameters.go @@ -67,25 +67,6 @@ func BuildParameters(kubeClient client.Client, namespace string, parametersFrom return params, parametersRaw, nil } -// fetchParametersFromSource fetches data from a specified external source and -// represents it in the parameters map format -func fetchParametersFromSource(kubeClient client.Client, namespace string, parametersFrom *servicesv1.ParametersFromSource) (map[string]interface{}, error) { - var params map[string]interface{} - if parametersFrom.SecretKeyRef != nil { - data, err := fetchSecretKeyValue(kubeClient, namespace, parametersFrom.SecretKeyRef) - if err != nil { - return nil, err - } - p, err := unmarshalJSON(data) - if err != nil { - return nil, err - } - params = p - - } - return params, nil -} - // UnmarshalRawParameters produces a map structure from a given raw YAML/JSON input func UnmarshalRawParameters(in []byte) (map[string]interface{}, error) { parameters := make(map[string]interface{}) @@ -124,3 +105,22 @@ func fetchSecretKeyValue(kubeClient client.Client, namespace string, secretKeyRe } return secret.Data[secretKeyRef.Key], nil } + +// fetchParametersFromSource fetches data from a specified external source and +// represents it in the parameters map format +func fetchParametersFromSource(kubeClient client.Client, namespace string, parametersFrom *servicesv1.ParametersFromSource) (map[string]interface{}, error) { + var params map[string]interface{} + if parametersFrom.SecretKeyRef != nil { + data, err := fetchSecretKeyValue(kubeClient, namespace, parametersFrom.SecretKeyRef) + if err != nil { + return nil, err + } + p, err := unmarshalJSON(data) + if err != nil { + return nil, err + } + params = p + + } + return params, nil +} diff --git a/internal/utils/parameters_test.go b/internal/utils/parameters_test.go new file mode 100644 index 00000000..53c3b585 --- /dev/null +++ b/internal/utils/parameters_test.go @@ -0,0 +1,23 @@ +package utils + +import ( + v1 "github.com/SAP/sap-btp-service-operator/api/v1" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + "k8s.io/apimachinery/pkg/runtime" +) + +var _ = Describe("Parameters", func() { + Describe("BuildParameters", func() { + It("handles empty parameters", func() { + parametersFrom := []v1.ParametersFromSource{} + parameters := (*runtime.RawExtension)(nil) + + params, rawParam, err := BuildParameters(nil, "", parametersFrom, parameters) + + Expect(err).To(BeNil()) + Expect(params).To(BeNil()) + Expect(rawParam).To(BeNil()) + }) + }) +})