summaryrefslogtreecommitdiffstats
path: root/certServiceK8sExternalProvider/src/testdata
diff options
context:
space:
mode:
authorPiotr Marcinkiewicz <piotr.marcinkiewicz@nokia.com>2020-11-03 17:06:13 +0100
committerPiotr Marcinkiewicz <piotr.marcinkiewicz@nokia.com>2020-11-05 08:34:41 +0000
commit15446c2ccfc117a0feb5a5249c2e62714b2cd3d7 (patch)
tree1f162c4c79ed2f95092f159edf2f4890aa606231 /certServiceK8sExternalProvider/src/testdata
parent39cc4f095a0107f7edaa4f86629775e1c09d5650 (diff)
[OOM-K8S-CERT-EXTERNAL-PROVIDER] Add CertificateRequest controller test
- Add CertificateRequest controller test with fake K8s API Issue-ID: OOM-2559 Signed-off-by: Piotr Marcinkiewicz <piotr.marcinkiewicz@nokia.com> Change-Id: I4e32c2d28f5c4ea35dd013119dfc31acb1646582
Diffstat (limited to 'certServiceK8sExternalProvider/src/testdata')
-rw-r--r--certServiceK8sExternalProvider/src/testdata/provider.go38
-rw-r--r--certServiceK8sExternalProvider/src/testdata/utils.go56
2 files changed, 90 insertions, 4 deletions
diff --git a/certServiceK8sExternalProvider/src/testdata/provider.go b/certServiceK8sExternalProvider/src/testdata/provider.go
index 2e352cbf..6bb420c3 100644
--- a/certServiceK8sExternalProvider/src/testdata/provider.go
+++ b/certServiceK8sExternalProvider/src/testdata/provider.go
@@ -21,8 +21,13 @@
package testdata
import (
+ cmapi "github.com/jetstack/cert-manager/pkg/apis/certmanager/v1"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/runtime"
+ "k8s.io/apimachinery/pkg/types"
+ scheme2 "k8s.io/client-go/kubernetes/scheme"
+ "sigs.k8s.io/controller-runtime/pkg/reconcile"
"onap.org/oom-certservice/k8s-external-provider/src/cmpv2api"
)
@@ -36,15 +41,15 @@ const (
KeySecretKey = "cmpv2Issuer-key.pem"
CertSecretKey = "cmpv2Issuer-cert.pem"
CacertSecretKey = "cacert.pem"
- Namespace = "default"
- IssuerObjectName = "fakeIssuer"
+ Namespace = "onap"
+ IssuerObjectName = "cmpv2-issuer"
Kind = "CMPv2Issuer"
APIVersion = "v1"
+ PrivateKeySecret = "privateKeySecretName"
)
func GetValidIssuerWithSecret() (cmpv2api.CMPv2Issuer, v1.Secret) {
issuer := cmpv2api.CMPv2Issuer{
-
TypeMeta: metav1.TypeMeta{
APIVersion: APIVersion,
Kind: Kind,
@@ -55,8 +60,8 @@ func GetValidIssuerWithSecret() (cmpv2api.CMPv2Issuer, v1.Secret) {
},
Spec: GetValidCMPv2IssuerSpec(),
}
- secret := v1.Secret{
+ secret := v1.Secret{
Data: map[string][]byte{
KeySecretKey: KeyBytes,
CertSecretKey: CertBytes,
@@ -87,3 +92,28 @@ func GetValidCMPv2IssuerSpec() cmpv2api.CMPv2IssuerSpec {
return issuerSpec
}
+func GetScheme() *runtime.Scheme {
+ scheme := runtime.NewScheme()
+ _ = scheme2.AddToScheme(scheme)
+ _ = cmapi.AddToScheme(scheme)
+ _ = cmpv2api.AddToScheme(scheme)
+ return scheme
+}
+
+func GetFakeRequest(objectName string) reconcile.Request {
+ fakeRequest := reconcile.Request{
+ NamespacedName: CreateIssuerNamespaceName(Namespace, objectName),
+ }
+ return fakeRequest
+}
+
+func GetIssuerStoreKey() types.NamespacedName {
+ return CreateIssuerNamespaceName(Namespace, IssuerObjectName)
+}
+
+func CreateIssuerNamespaceName(namespace string, name string) types.NamespacedName {
+ return types.NamespacedName{
+ Namespace: namespace,
+ Name: name,
+ }
+}
diff --git a/certServiceK8sExternalProvider/src/testdata/utils.go b/certServiceK8sExternalProvider/src/testdata/utils.go
new file mode 100644
index 00000000..af22195d
--- /dev/null
+++ b/certServiceK8sExternalProvider/src/testdata/utils.go
@@ -0,0 +1,56 @@
+/*
+ * ============LICENSE_START=======================================================
+ * oom-certservice-k8s-external-provider
+ * ================================================================================
+ * Copyright (C) 2020 Nokia. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package testdata
+
+import (
+ "bytes"
+ "io/ioutil"
+ "log"
+ "testing"
+)
+
+func ReadFile(filename string) []byte {
+ certRequest, err := ioutil.ReadFile(filename)
+ if err != nil {
+ log.Fatal(err)
+ }
+ return certRequest
+}
+
+func VerifyCertsAreEqualToExpected(t *testing.T, signedPEM []byte, trustedCAs []byte) {
+ expectedSignedFilename := "../cmpv2provisioner/testdata/expected_signed.pem"
+ expectedTrustedFilename := "../cmpv2provisioner/testdata/expected_trusted.pem"
+
+ VerifyThatConditionIsTrue(AreSlicesEqual(signedPEM,
+ ReadFile(expectedSignedFilename)), "Signed pem is different than expected.", t)
+ VerifyThatConditionIsTrue(AreSlicesEqual(trustedCAs,
+ ReadFile(expectedTrustedFilename)), "Trusted CAs pem is different than expected.", t)
+}
+
+func AreSlicesEqual(slice1 []byte, slice2 []byte) bool {
+ return bytes.Compare(slice1, slice2) == 0
+}
+
+func VerifyThatConditionIsTrue(cond bool, message string, t *testing.T) {
+ if !cond {
+ t.Fatal(message)
+ }
+}