[OOM-K8S-CERT-EXTERNAL-PROVIDER] Refactor provider code
[oom/platform/cert-service.git] / certServiceK8sExternalProvider / src / testdata / provider.go
index 2e352cb..ce09f4a 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * oom-certservice-k8s-external-provider
  * ================================================================================
- * Copyright (C) 2020 Nokia. All rights reserved.
+ * Copyright (C) 2020-2021 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.
 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"
 )
 
 const (
-       SecretName       = "issuer-cert-secret"
-       Url              = "https://oom-cert-service:8443/v1/certificate/"
-       HealthEndpoint   = "actuator/health"
-       CertEndpoint     = "v1/certificate"
-       CaName           = "RA"
-       KeySecretKey     = "cmpv2Issuer-key.pem"
-       CertSecretKey    = "cmpv2Issuer-cert.pem"
-       CacertSecretKey  = "cacert.pem"
-       Namespace        = "default"
-       IssuerObjectName = "fakeIssuer"
-       Kind             = "CMPv2Issuer"
-       APIVersion       = "v1"
+       SecretName           = "issuer-cert-secret"
+       Url                  = "https://oom-cert-service:8443/v1/certificate/"
+       HealthEndpoint       = "actuator/health"
+       CertEndpoint         = "v1/certificate"
+       CaName               = "RA"
+       KeySecretKey         = "cmpv2Issuer-key.pem"
+       CertSecretKey        = "cmpv2Issuer-cert.pem"
+       CacertSecretKey      = "cacert.pem"
+       Namespace            = "onap"
+       IssuerObjectName     = "cmpv2-issuer"
+       Kind                 = "CMPv2Issuer"
+       APIVersion           = "v1"
+       PrivateKeySecret     = "privateKeySecretName"
+       OldCertificateConfig = "{\"apiVersion\":\"cert-manager.io/v1\",\"kind\":\"Certificate\",\"metadata\":{\"annotations\":{},\"name\":\"cert-test\",\"namespace\":\"onap\"},\"spec\":{\"commonName\":\"certissuer.onap.org\",\"dnsNames\":[\"localhost\",\"certissuer.onap.org\"],\"emailAddresses\":[\"onap@onap.org\"],\"ipAddresses\":[\"127.0.0.1\"],\"issuerRef\":{\"group\":\"certmanager.onap.org\",\"kind\":\"CMPv2Issuer\",\"name\":\"cmpv2-issuer-onap\"},\"secretName\":\"cert-test-secret-name\",\"subject\":{\"countries\":[\"US\"],\"localities\":[\"San-Francisco\"],\"organizationalUnits\":[\"ONAP\"],\"organizations\":[\"Linux-Foundation\"],\"provinces\":[\"California\"]},\"uris\":[\"onap://cluster.local/\"]}}\n"
 )
 
 func GetValidIssuerWithSecret() (cmpv2api.CMPv2Issuer, v1.Secret) {
        issuer := cmpv2api.CMPv2Issuer{
-
                TypeMeta: metav1.TypeMeta{
                        APIVersion: APIVersion,
                        Kind:       Kind,
@@ -55,8 +61,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 +93,45 @@ 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,
+       }
+}
+
+func GetValidCertificateSecret() *v1.Secret {
+       const privateKeySecretKey = "tls.key"
+       const certificateSecretKey = "tls.crt"
+
+       return &v1.Secret{
+               Data: map[string][]byte{
+                       privateKeySecretKey:  []byte("test-private-key"),
+                       certificateSecretKey: []byte("test-certificate"),
+               },
+               ObjectMeta: metav1.ObjectMeta{
+                       Name:      "cert-test-secret-name",
+                       Namespace: "onap",
+               },
+       }
+}
+