2 * ============LICENSE_START=======================================================
3 * oom-certservice-k8s-external-provider
4 * ================================================================================
5 * Copyright (C) 2020 Nokia. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package cmpv2provisioner
28 "github.com/stretchr/testify/assert"
30 "onap.org/oom-certservice/k8s-external-provider/src/testdata"
33 func Test_shouldCreateProvisioner(t *testing.T) {
34 issuer, secret := testdata.GetValidIssuerWithSecret()
35 provisionerFactory := ProvisionerFactoryImpl{}
37 provisioner, _ := provisionerFactory.CreateProvisioner(&issuer, secret)
39 assert.NotNil(t, provisioner)
40 assert.Equal(t, testdata.Url, provisioner.url)
41 assert.Equal(t, testdata.CaName, provisioner.caName)
42 assert.Equal(t, testdata.HealthEndpoint, provisioner.healthEndpoint)
43 assert.Equal(t, testdata.CertEndpoint, provisioner.certEndpoint)
46 func Test_shouldReturnError_whenSecretMissingKeyRef(t *testing.T) {
47 issuer, secret := testdata.GetValidIssuerWithSecret()
48 delete(secret.Data, testdata.KeySecretKey)
49 provisionerFactory := ProvisionerFactoryImpl{}
51 provisioner, err := provisionerFactory.CreateProvisioner(&issuer, secret)
53 assert.Nil(t, provisioner)
54 if assert.Error(t, err) {
55 assert.Equal(t, fmt.Errorf("secret %s does not contain key %s", testdata.SecretName, testdata.KeySecretKey), err)
59 func Test_shouldReturnError_whenSecretMissingCertRef(t *testing.T) {
60 issuer, secret := testdata.GetValidIssuerWithSecret()
61 delete(secret.Data, testdata.CertSecretKey)
62 provisionerFactory := ProvisionerFactoryImpl{}
64 provisioner, err := provisionerFactory.CreateProvisioner(&issuer, secret)
66 assert.Nil(t, provisioner)
67 if assert.Error(t, err) {
68 assert.Equal(t, fmt.Errorf("secret %s does not contain key %s", testdata.SecretName, testdata.CertSecretKey), err)
72 func Test_shouldReturnError_whenSecretMissingCacertRef(t *testing.T) {
73 issuer, secret := testdata.GetValidIssuerWithSecret()
74 delete(secret.Data, testdata.CacertSecretKey)
75 provisionerFactory := ProvisionerFactoryImpl{}
77 provisioner, err := provisionerFactory.CreateProvisioner(&issuer, secret)
79 assert.Nil(t, provisioner)
80 if assert.Error(t, err) {
81 assert.Equal(t, fmt.Errorf("secret %s does not contain key %s", testdata.SecretName, testdata.CacertSecretKey), err)
85 func Test_shouldReturnError_whenCreationOfCertServiceClientReturnsError(t *testing.T) {
86 issuer, secret := testdata.GetValidIssuerWithSecret()
87 invalidKeySecretValue, _ := base64.StdEncoding.DecodeString("")
88 secret.Data[testdata.KeySecretKey] = invalidKeySecretValue
89 provisionerFactory := ProvisionerFactoryImpl{}
91 provisioner, err := provisionerFactory.CreateProvisioner(&issuer, secret)
93 assert.Nil(t, provisioner)