From 2467b9bf99fdeb9d0e848d966c7e5d232a3f8c79 Mon Sep 17 00:00:00 2001 From: David Garcia Date: Wed, 3 Nov 2021 15:06:45 +0100 Subject: [PATCH] Add robot test basic22 for feature 10887 Change-Id: I7b20b690c3c72641765192e1ec83d429062916cd Signed-off-by: David Garcia --- .../basic_22-cross_model_relations.py | 29 +++++ .../basic_22-cross_model_relations.robot | 105 ++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 robot-systest/resources/basic_22-cross_model_relations.py create mode 100644 robot-systest/testsuite/basic_22-cross_model_relations.robot diff --git a/robot-systest/resources/basic_22-cross_model_relations.py b/robot-systest/resources/basic_22-cross_model_relations.py new file mode 100644 index 0000000..3cd5e42 --- /dev/null +++ b/robot-systest/resources/basic_22-cross_model_relations.py @@ -0,0 +1,29 @@ +# 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. + +from pathlib import Path + +# Get ${HOME} from local machine +home = str(Path.home()) +# NS and VNF descriptor package folder +vnfd_pkg_1 = "charm-packages/cmr_relation_vnf" +vnfd_pkg_2 = "charm-packages/cmr_no_relation_vnf" +nsd_pkg = "charm-packages/cmr_relation_ns" +# NS and VNF descriptor id +vnfd_name_1 = "cross_model_relation-vnf" +vnfd_name_2 = "cross_model_no_relation-vnf" +nsd_name = "cross_model_relation-ns" +# NS instance name +ns_name = "basic_22_cross_model_relation_test" +# SSH keys to be used +publickey = home + "/.ssh/id_rsa.pub" +privatekey = home + "/.ssh/id_rsa" diff --git a/robot-systest/testsuite/basic_22-cross_model_relations.robot b/robot-systest/testsuite/basic_22-cross_model_relations.robot new file mode 100644 index 0000000..83b523b --- /dev/null +++ b/robot-systest/testsuite/basic_22-cross_model_relations.robot @@ -0,0 +1,105 @@ +# 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. + +*** Settings *** +Documentation [BASIC-22] Cross-model relations + +Library OperatingSystem +Library SSHLibrary + +Resource %{ROBOT_DEVOPS_FOLDER}/lib/vnfd_lib.robot +Resource %{ROBOT_DEVOPS_FOLDER}/lib/nsd_lib.robot +Resource %{ROBOT_DEVOPS_FOLDER}/lib/ns_lib.robot +Resource %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot +Resource %{ROBOT_DEVOPS_FOLDER}/lib/k8scluster_lib.robot + +Variables %{ROBOT_DEVOPS_FOLDER}/resources/basic_22-cross_model_relations.py + +Force Tags basic_22 cluster_ee_config cluster_relations daily regression + +Suite Teardown Run Keyword And Ignore Error Suite Cleanup + + +*** Variables *** +# K8s cluster name and version +${k8scluster_name} k8sbasic_22 +${k8scluster_version} v1 +${username} ubuntu +${password} ${EMPTY} +${ns_config} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] } +${action_name} touch +${ns_timeout} 15min + + +*** Test Cases *** +Create Charm VNF Descriptor 1 + + Create VNFD '%{PACKAGES_FOLDER}/${vnfd_pkg_1}' + +Create Charm VNF Descriptor 2 + + Create VNFD '%{PACKAGES_FOLDER}/${vnfd_pkg_2}' + +Create Charm NS Descriptor + + Create NSD '%{PACKAGES_FOLDER}/${nsd_pkg}' + +Add K8s Cluster To OSM + Create K8s Cluster %{K8S_CREDENTIALS} ${k8scluster_version} %{VIM_TARGET} %{VIM_MGMT_NET} ${k8scluster_name} + +Instantiate Charm Network Service + + ${id}= Create Network Service ${nsd_name} %{VIM_TARGET} ${ns_name} ${ns_config} ${publickey} ${ns_timeout} + Set Suite Variable ${ns_id} ${id} + + +# TODO Check juju status for relations + + +Delete NS Instance + [Tags] cleanup + + Delete NS ${ns_name} + +Remove K8s Cluster from OSM + [Tags] cleanup + Delete K8s Cluster ${k8scluster_name} + +Delete NS Descriptor + [Tags] cleanup + + Delete NSD ${nsd_name} + + +Delete VNF Descriptor 1 + [Tags] cleanup + + Delete VNFD ${vnfd_name_1} + +Delete VNF Descriptor 2 + [Tags] cleanup + + Delete VNFD ${vnfd_name_2} + + +*** Keywords *** +Suite Cleanup + [Documentation] Test Suite Cleanup: Deleting descriptors and NS instance + + Run Keyword If Any Tests Failed Delete NS ${ns_name} + + Run Keyword If Any Tests Failed Delete NSD ${nsd_name} + + Run Keyword If Any Tests Failed Delete VNFD 1 ${vnfd_name_1} + + Run Keyword If Any Tests Failed Delete VNFD 2 ${vnfd_name_2} + -- 2.25.1