Skip to content

Commit

Permalink
add test
Browse files Browse the repository at this point in the history
  • Loading branch information
kerenlahav committed Jan 10, 2024
1 parent cddc2c6 commit f632e7b
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 19 deletions.
38 changes: 19 additions & 19 deletions internal/utils/parameters.go
Original file line number Diff line number Diff line change
Expand Up @@ -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{})
Expand Down Expand Up @@ -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
}
23 changes: 23 additions & 0 deletions internal/utils/parameters_test.go
Original file line number Diff line number Diff line change
@@ -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())
})
})
})

0 comments on commit f632e7b

Please sign in to comment.