diff options
author | Remigiusz Janeczek <remigiusz.janeczek@nokia.com> | 2020-10-22 09:18:12 +0200 |
---|---|---|
committer | Remigiusz Janeczek <remigiusz.janeczek@nokia.com> | 2020-10-22 16:00:36 +0000 |
commit | ee23e5f54f96807b1f1fff0b45238a247d3dd8e0 (patch) | |
tree | ec390b860e0c10810bd778a1b68dbfc8ab12c64a /certServiceK8sExternalProvider/src/certserviceclient/cert_service_client_factory_test.go | |
parent | aa23960c5d444dea307e0934b446f12ab0256689 (diff) |
[OOM-K8S-CERT-EXTERNAL-PROVIDER] Add client for CertService API
Issue-ID: OOM-2559
Signed-off-by: Remigiusz Janeczek <remigiusz.janeczek@nokia.com>
Change-Id: I3bf6c36b9eec7a661202b18eb7765e332ccfbc07
Diffstat (limited to 'certServiceK8sExternalProvider/src/certserviceclient/cert_service_client_factory_test.go')
-rw-r--r-- | certServiceK8sExternalProvider/src/certserviceclient/cert_service_client_factory_test.go | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/certServiceK8sExternalProvider/src/certserviceclient/cert_service_client_factory_test.go b/certServiceK8sExternalProvider/src/certserviceclient/cert_service_client_factory_test.go new file mode 100644 index 00000000..50a6d796 --- /dev/null +++ b/certServiceK8sExternalProvider/src/certserviceclient/cert_service_client_factory_test.go @@ -0,0 +1,95 @@ +/* + * ============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 certserviceclient + +import ( + "testing" + + "github.com/stretchr/testify/assert" + + "onap.org/oom-certservice/k8s-external-provider/src/testdata" +) + +const ( + validUrl = "https://oom-cert-service:8443/v1/certificate/" + validUrl2 = "https://oom-cert-service:8443/v1/certificate" + invalidUrl = "https://oom-cert service:8443/v1/certificate" + caName = "RA" + expectedCertificationUrl = "https://oom-cert-service:8443/v1/certificate/RA" +) + +func Test_shouldCreateCertServiceClient(t *testing.T) { + shouldCreateCertServiceClientWithExpectedUrl(t, expectedCertificationUrl, validUrl) + shouldCreateCertServiceClientWithExpectedUrl(t, expectedCertificationUrl, validUrl2) +} + +func shouldCreateCertServiceClientWithExpectedUrl(t *testing.T, expectedCertificationUrl string, baseUrl string) { + client, err := CreateCertServiceClient(baseUrl, caName, testdata.KeyBytes, testdata.CertBytes, testdata.CacertBytes) + + assert.NotNil(t, client) + assert.Nil(t, err) + assert.Equal(t, expectedCertificationUrl, client.certificationUrl) +} + +func Test_shouldReturnError_whenUrlInvalid(t *testing.T) { + client, err := CreateCertServiceClient(invalidUrl, caName, testdata.KeyBytes, testdata.CertBytes, testdata.CacertBytes) + + assert.Nil(t, client) + assert.Error(t, err) +} + +func Test_shouldReturnError_whenCanameEmpty(t *testing.T) { + client, err := CreateCertServiceClient(validUrl, "", testdata.KeyBytes, testdata.CertBytes, testdata.CacertBytes) + + assert.Nil(t, client) + assert.Error(t, err) +} + +func Test_shouldReturnError_whenKeyNotMatchingCert(t *testing.T) { + client, err := CreateCertServiceClient(validUrl, caName, testdata.NotMatchingKeyBytes, testdata.CertBytes, testdata.CacertBytes) + + assert.Nil(t, client) + assert.Error(t, err) +} + +func Test_shouldReturnError_whenKeyInvalid(t *testing.T) { + //Cert used as key + client, err := CreateCertServiceClient(validUrl, caName, testdata.CertBytes, testdata.CertBytes, testdata.CacertBytes) + + assert.Nil(t, client) + assert.Error(t, err) +} + +func Test_shouldReturnError_whenCertInvalid(t *testing.T) { + //Cacert used as cert + client, err := CreateCertServiceClient(validUrl, caName, testdata.KeyBytes, testdata.CacertBytes, testdata.CacertBytes) + + assert.Nil(t, client) + assert.Error(t, err) +} + +func Test_shouldReturnError_whenCacertInvalid(t *testing.T) { + //Key used as cacert + client, err := CreateCertServiceClient(validUrl, caName, testdata.KeyBytes, testdata.CertBytes, testdata.KeyBytes) + + assert.Nil(t, client) + assert.Error(t, err) +} |