Add robot test basic22 for feature 10887 03/11303/2
authorDavid Garcia <david.garcia@canonical.com>
Wed, 3 Nov 2021 14:06:45 +0000 (15:06 +0100)
committergarciadav <david.garcia@canonical.com>
Thu, 11 Nov 2021 13:45:24 +0000 (14:45 +0100)
Change-Id: I7b20b690c3c72641765192e1ec83d429062916cd
Signed-off-by: David Garcia <david.garcia@canonical.com>
robot-systest/resources/basic_22-cross_model_relations.py [new file with mode: 0644]
robot-systest/testsuite/basic_22-cross_model_relations.robot [new file with mode: 0644]

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 (file)
index 0000000..3cd5e42
--- /dev/null
@@ -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 (file)
index 0000000..83b523b
--- /dev/null
@@ -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}
+