summaryrefslogtreecommitdiffstats
path: root/certServiceK8sExternalProvider/src/cmpv2controller/cmpv2_issuer_controller_test.go
diff options
context:
space:
mode:
authorRemigiusz Janeczek <remigiusz.janeczek@nokia.com>2020-10-16 11:08:09 +0200
committerRemigiusz Janeczek <remigiusz.janeczek@nokia.com>2020-10-20 13:21:33 +0200
commitf85be7d76bf73d59dd4d70ffd07f1e34dfd1a2ef (patch)
treedc877e4ed72e9eaf86c94659cd34332e147c3d8b /certServiceK8sExternalProvider/src/cmpv2controller/cmpv2_issuer_controller_test.go
parent311cb14d51f5f9b81c5761d815d5d7a5f9b63817 (diff)
[OOM-K8S-CERT-EXTERNAL-PROVIDER] Provide certs to CMPv2 Issuer
Format code Issue-ID: OOM-2559 Signed-off-by: Remigiusz Janeczek <remigiusz.janeczek@nokia.com> Change-Id: I88346b96657606b010aa8d7da0f8b86d1844f9d7
Diffstat (limited to 'certServiceK8sExternalProvider/src/cmpv2controller/cmpv2_issuer_controller_test.go')
-rw-r--r--certServiceK8sExternalProvider/src/cmpv2controller/cmpv2_issuer_controller_test.go67
1 files changed, 47 insertions, 20 deletions
diff --git a/certServiceK8sExternalProvider/src/cmpv2controller/cmpv2_issuer_controller_test.go b/certServiceK8sExternalProvider/src/cmpv2controller/cmpv2_issuer_controller_test.go
index 8409ea78..79c78ed5 100644
--- a/certServiceK8sExternalProvider/src/cmpv2controller/cmpv2_issuer_controller_test.go
+++ b/certServiceK8sExternalProvider/src/cmpv2controller/cmpv2_issuer_controller_test.go
@@ -21,13 +21,22 @@
package cmpv2controller
import (
+ "testing"
+
"github.com/go-logr/logr"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
+
"onap.org/oom-certservice/k8s-external-provider/src/cmpv2api"
- "testing"
)
+func Test_shouldBeValidCMPv2IssuerSpec_whenAllFieldsAreSet(t *testing.T) {
+ spec := getValidCMPv2IssuerSpec()
+
+ err := validateCMPv2IssuerSpec(spec, &MockLogger{})
+ assert.Nil(t, err)
+}
+
func Test_shouldBeInvalidCMPv2IssuerSpec_whenSpecIsEmpty(t *testing.T) {
spec := cmpv2api.CMPv2IssuerSpec{}
err := validateCMPv2IssuerSpec(spec, nil)
@@ -35,32 +44,50 @@ func Test_shouldBeInvalidCMPv2IssuerSpec_whenSpecIsEmpty(t *testing.T) {
}
func Test_shouldBeInvalidCMPv2IssuerSpec_whenNotAllFieldsAreSet(t *testing.T) {
- spec := cmpv2api.CMPv2IssuerSpec{}
- spec.URL = "https://localhost"
- spec.KeyRef = cmpv2api.SecretKeySelector{}
- spec.KeyRef.Name = "secret-key"
+ setEmptyFieldFunctions := map[string]func(spec *cmpv2api.CMPv2IssuerSpec){
+ "emptyUrl": func(spec *cmpv2api.CMPv2IssuerSpec) { spec.URL = "" },
+ "empryCaName": func(spec *cmpv2api.CMPv2IssuerSpec) { spec.CaName = "" },
+ "emptySecretName": func(spec *cmpv2api.CMPv2IssuerSpec) { spec.CertSecretRef.Name = "" },
+ "emptySecretKeyRef": func(spec *cmpv2api.CMPv2IssuerSpec) { spec.CertSecretRef.KeyRef = "" },
+ "emptySecretCertRef": func(spec *cmpv2api.CMPv2IssuerSpec) { spec.CertSecretRef.CertRef = "" },
+ "emptySecretCaertRef": func(spec *cmpv2api.CMPv2IssuerSpec) { spec.CertSecretRef.CacertRef = "" },
+ }
- err := validateCMPv2IssuerSpec(spec, &MockLogger{})
- assert.NotNil(t, err)
+ for caseName, setEmptyFieldFunction := range setEmptyFieldFunctions {
+ t.Run(caseName, func(t *testing.T) {
+ test_shouldBeInvalidCMPv2IssuerSpec_whenFunctionApplied(t, setEmptyFieldFunction)
+ })
+ }
}
-func Test_shouldBeValidCMPv2IssuerSpec_whenAllFieldsAreSet(t *testing.T) {
- spec := cmpv2api.CMPv2IssuerSpec{}
- spec.URL = "https://localhost"
- spec.KeyRef = cmpv2api.SecretKeySelector{}
- spec.KeyRef.Name = "secret-key"
- spec.KeyRef.Key = "the-key"
+func test_shouldBeInvalidCMPv2IssuerSpec_whenFunctionApplied(t *testing.T, transformSpec func(spec *cmpv2api.CMPv2IssuerSpec)) {
+ spec := getValidCMPv2IssuerSpec()
+ transformSpec(&spec)
+ err := validateCMPv2IssuerSpec(spec, nil)
+ assert.NotNil(t, err)
+}
- err := validateCMPv2IssuerSpec(spec, &MockLogger{})
- assert.Nil(t, err)
+func getValidCMPv2IssuerSpec() cmpv2api.CMPv2IssuerSpec {
+ issuerSpec := cmpv2api.CMPv2IssuerSpec{
+ URL: "https://oom-cert-service:8443/v1/certificate/",
+ CaName: "RA",
+ CertSecretRef: cmpv2api.SecretKeySelector{
+ Name: "issuer-cert-secret",
+ KeyRef: "cmpv2Issuer-key.pem",
+ CertRef: "cmpv2Issuer-cert.pem",
+ CacertRef: "cacert.pem",
+ },
+ }
+ return issuerSpec
}
type MockLogger struct {
mock.Mock
}
-func (m *MockLogger) Info(msg string, keysAndValues ...interface{}) {}
+
+func (m *MockLogger) Info(msg string, keysAndValues ...interface{}) {}
func (m *MockLogger) Error(err error, msg string, keysAndValues ...interface{}) {}
-func (m *MockLogger) Enabled() bool { return false }
-func (m *MockLogger) V(level int) logr.Logger { return m }
-func (m *MockLogger) WithValues(keysAndValues ...interface{}) logr.Logger { return m }
-func (m *MockLogger) WithName(name string) logr.Logger { return m }
+func (m *MockLogger) Enabled() bool { return false }
+func (m *MockLogger) V(level int) logr.Logger { return m }
+func (m *MockLogger) WithValues(keysAndValues ...interface{}) logr.Logger { return m }
+func (m *MockLogger) WithName(name string) logr.Logger { return m }