diff options
Diffstat (limited to 'k8s/tests/common.py')
-rw-r--r-- | k8s/tests/common.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/k8s/tests/common.py b/k8s/tests/common.py index 1801433..9778d1f 100644 --- a/k8s/tests/common.py +++ b/k8s/tests/common.py @@ -3,6 +3,7 @@ # ================================================================================ # Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved. # Copyright (c) 2020 Pantheon.tech. All rights reserved. +# 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. @@ -35,6 +36,18 @@ def _set_k8s_configuration(): "image": "tlsrepo/tls-init-container:1.2.3", "component_cert_dir": "/opt/dcae/cacert" }, + "external_cert": { + "image_tag": "repo/aaf-certservice-client:1.2.3", + "request_url" : "https://request:1010/url", + "timeout" : "30000", + "country" : "US", + "organization" : "Linux-Foundation", + "state" : "California", + "organizational_unit" : "ONAP", + "location" : "San-Francisco", + "keystore_password" : "secret1", + "truststore_password" : "secret2" + }, "cbs": { "base_url": "https://config-binding-service:10443/service_component_all/test-component" } @@ -114,6 +127,38 @@ def verify_common(dep, deployment_description): # Needs to be correctly labeled so that the Service can find it assert dep.spec.template.metadata.labels["app"] == "testcomponent" +def verify_external_cert(dep): + cert_container = dep.spec.template.spec.init_containers[1] + print(cert_container) + assert cert_container.image == "repo/aaf-certservice-client:1.2.3" + assert cert_container.name == "cert-service-client" + assert len(cert_container.volume_mounts) == 2 + assert cert_container.volume_mounts[0].name == "tls-info" + assert cert_container.volume_mounts[0].mount_path == "/path/to/container/cert/directory/" + assert cert_container.volume_mounts[1].name == "tls-volume" + assert cert_container.volume_mounts[1].mount_path == "/etc/onap/aaf/certservice/certs/" + + expected_envs = { + "REQUEST_URL": "https://request:1010/url", + "REQUEST_TIMEOUT": "30000", + "OUTPUT_PATH": "/path/to/container/cert/directory/external", + "OUTPUT_TYPE": "P12", + "CA_NAME": "myname", + "COMMON_NAME": "mycommonname", + "ORGANIZATION": "Linux-Foundation", + "ORGANIZATION_UNIT": "ONAP", + "LOCATION": "San-Francisco", + "STATE": "California", + "COUNTRY": "US", + "SANS": "mysans", + "KEYSTORE_PATH": "/etc/onap/aaf/certservice/certs/certServiceClient-keystore.jks", + "KEYSTORE_PASSWORD": "secret1", + "TRUSTSTORE_PATH": "/etc/onap/aaf/certservice/certs/truststore.jks", + "TRUSTSTORE_PASSWORD": "secret2"} + + envs = {k.name: k.value for k in cert_container.env} + for k in expected_envs: + assert (k in envs and expected_envs[k] == envs[k]) def do_deploy(tls_info=None): ''' Common deployment operations ''' @@ -133,3 +178,21 @@ def do_deploy(tls_info=None): verify_common(dep, deployment_description) return dep, deployment_description + + +def do_deploy_ext(ext_tls_info): + ''' Common deployment operations ''' + import k8sclient.k8sclient + + k8s_test_config = _set_k8s_configuration() + + kwargs = _set_common_kwargs() + kwargs['resources'] = _set_resources() + kwargs["external_cert"] = ext_tls_info + + dep, deployment_description = k8sclient.k8sclient.deploy("k8stest", "testcomponent", "example.com/testcomponent:1.4.3", 1, False, k8s_test_config, **kwargs) + + # Make sure all of the basic k8s parameters are correct + verify_common(dep, deployment_description) + + return dep, deployment_description |