From: romeromonser Date: Thu, 2 Apr 2020 13:54:38 +0000 (+0200) Subject: Initial commit. Moved previous robot test to robot-systest/deprecated. Added basic... X-Git-Tag: release-v8.0-start~49 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=4edf733e765a1069a34d6fccf940af27ae39dad6;p=osm%2Fdevops.git Initial commit. Moved previous robot test to robot-systest/deprecated. Added basic tests. Change-Id: I2457a8e66da3df639e4f9e7d4aa91045494055c6 Signed-off-by: romeromonser --- diff --git a/robot-systest/README.md b/robot-systest/README.md new file mode 100644 index 00000000..99e957d7 --- /dev/null +++ b/robot-systest/README.md @@ -0,0 +1,52 @@ + + +# Robot Framework: Test usage + +## Requirements + +- OSM client installed () +- devops repository cloned in home () +- The descriptor packages used on each test are expected to be in `${PACKAGES_FOLDER}`. +- A set of environment variables (there is an example file located at devops/robot-systest/environment.rc): + - `OSM_HOSTNAME`: IP address of target OSM. + - `OS_CLOUD`: Cloud credentialss. + - `VIM_TARGET`: VIM where tests will be run. + - `VIM_MGMT_NET`: VIM management network, reachable from robot. + - `PACKAGES_FOLDER`: Where descriptor packages are located. + - `ROBOT_DEVOPS_FOLDER`: Where the devops repository is located. + - `ROBOT_REPORT_FOLDER`: Where robot outpul will be placed. + +## Installation + +```bash +sudo -H python3 -m pip install --ignore-installed haikunator requests pyvcloud progressbar pathlib robotframework robotframework-seleniumlibrary robotframework-requests robotframework-SSHLibrary +curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - +sudo add-apt-repository -y "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" +sudo apt-get install -y google-chrome-stable chromium-chromedriver +sudo apt-get install -y python3-openstackclient # Installs Queens by default +``` + +## Usage + +Example using hackfest basic test. + +```bash + +# Set your environment variables in environment.rc as specified in requirements +source environment.rc + +cd ~/devops/robot-systest +robot -d ${ROBOT_REPORT_FOLDER} testsuite/hackfest_basic.robot +``` diff --git a/robot-systest/README_Robot_Test.md b/robot-systest/README_Robot_Test.md deleted file mode 100644 index 083e1dd2..00000000 --- a/robot-systest/README_Robot_Test.md +++ /dev/null @@ -1,86 +0,0 @@ - - - -# Step to run robot framework test standalone linux environment - -All installation commands run using root user(`sudo su`) -## Step 1: Install python packages -Install below python packages using pip ->pip install python-magic pyangbind haikunator requests pyvcloud progressbar pathlib robotframework robotframework-seleniumlibrary robotframework-requests robotframework-jsonlibrary - -## Step 2: Install linux packages -Install below linux packages ->curl http://osm-download.etsi.org/repository/osm/debian/ReleaseSIX/OSM%20ETSI%20Release%20Key.gpg | apt-key add - - ->add-apt-repository -y "deb http://osm-download.etsi.org/repository/osm/debian/ReleaseSIX stable devops osmclient IM" && apt update - ->curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - - ->echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list - -> apt-get install -y python-osmclient python-osm-im google-chrome-stable chromium-chromedriver - ->./git-repo/devops/tools/OVF_converter/install.sh - -## Step 3: checkout robot seed code -Checkout devops from gerrit -> git clone "https://osm.etsi.org/gerrit/osm/devops" - -If robot seed code not merged to to master, pull it -> git pull "https://osm.etsi.org/gerrit/osm/devops" refs/changes/52/7852/4 - -## Step 4: Set environmet -for build test need to create env-file and provide below details and for Standalone testing export them -``` -export OSM_HOSTNAME= -``` - -OpenStack Details -``` -export OS_AUTH_URL= -export OS_PASSWORD= -export OS_PROJECT_NAME= -export OS_VIM_CONFIG= -``` - -VCD Details -``` -export VCD_AUTH_URL= -export VCD_USERNAME= -export VCD_PASSWORD= -export VCD_TENANT_NAME= -export VCD_ORGANIZATION= -export VCD_VIM_CONFIG= -``` - -Note:- Optional -``` -export NS_CONFIG= -e.g. export NS_CONFIG="'{vld: [ {name: mgmtnet, vim-network-name: mgmt}]}'" -``` - -## Step 5: Run Test -There are two ways to run the test-case: -* use `devops/robot-systest/run_test.sh` file and provide test-name(vim/smoke/sanity/comprehensive). - > ./devops/robot-systest/run_test.sh -t smoke - -* use `robot` command - > robot -d path/to/report/dir -i test-tag-to-be-included -e test-tag-to-be-excluded path/to/testsuiet - - > robot -d devops/robot-systest/reports -i comprehensive devops/robot-systest/testsuite \ No newline at end of file diff --git a/robot-systest/deprecated/README_Robot_Test.md b/robot-systest/deprecated/README_Robot_Test.md new file mode 100644 index 00000000..083e1dd2 --- /dev/null +++ b/robot-systest/deprecated/README_Robot_Test.md @@ -0,0 +1,86 @@ + + + +# Step to run robot framework test standalone linux environment + +All installation commands run using root user(`sudo su`) +## Step 1: Install python packages +Install below python packages using pip +>pip install python-magic pyangbind haikunator requests pyvcloud progressbar pathlib robotframework robotframework-seleniumlibrary robotframework-requests robotframework-jsonlibrary + +## Step 2: Install linux packages +Install below linux packages +>curl http://osm-download.etsi.org/repository/osm/debian/ReleaseSIX/OSM%20ETSI%20Release%20Key.gpg | apt-key add - + +>add-apt-repository -y "deb http://osm-download.etsi.org/repository/osm/debian/ReleaseSIX stable devops osmclient IM" && apt update + +>curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - + +>echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list + +> apt-get install -y python-osmclient python-osm-im google-chrome-stable chromium-chromedriver + +>./git-repo/devops/tools/OVF_converter/install.sh + +## Step 3: checkout robot seed code +Checkout devops from gerrit +> git clone "https://osm.etsi.org/gerrit/osm/devops" + +If robot seed code not merged to to master, pull it +> git pull "https://osm.etsi.org/gerrit/osm/devops" refs/changes/52/7852/4 + +## Step 4: Set environmet +for build test need to create env-file and provide below details and for Standalone testing export them +``` +export OSM_HOSTNAME= +``` + +OpenStack Details +``` +export OS_AUTH_URL= +export OS_PASSWORD= +export OS_PROJECT_NAME= +export OS_VIM_CONFIG= +``` + +VCD Details +``` +export VCD_AUTH_URL= +export VCD_USERNAME= +export VCD_PASSWORD= +export VCD_TENANT_NAME= +export VCD_ORGANIZATION= +export VCD_VIM_CONFIG= +``` + +Note:- Optional +``` +export NS_CONFIG= +e.g. export NS_CONFIG="'{vld: [ {name: mgmtnet, vim-network-name: mgmt}]}'" +``` + +## Step 5: Run Test +There are two ways to run the test-case: +* use `devops/robot-systest/run_test.sh` file and provide test-name(vim/smoke/sanity/comprehensive). + > ./devops/robot-systest/run_test.sh -t smoke + +* use `robot` command + > robot -d path/to/report/dir -i test-tag-to-be-included -e test-tag-to-be-excluded path/to/testsuiet + + > robot -d devops/robot-systest/reports -i comprehensive devops/robot-systest/testsuite \ No newline at end of file diff --git a/robot-systest/deprecated/lib/api/common.robot b/robot-systest/deprecated/lib/api/common.robot new file mode 100644 index 00000000..4724016e --- /dev/null +++ b/robot-systest/deprecated/lib/api/common.robot @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com +## + + +*** Variables *** +${token}= ${EMPTY} +${HOST}= ${EMPTY} + + +*** Keywords *** +Get Auth Token + [Tags] auth_token + + ${nbi_host}= Get Environment Variable OSM_HOSTNAME + ${passed}= Run Keyword And Return Status Should Contain ${nbi_host} : + Run Keyword If ${passed} Set Dockerized Host ${nbi_host} + ... ELSE Set Standalone Host ${nbi_host} + + Create Session osmhit ${HOST} verify=${FALSE} debug=1 headers=${HEADERS} + + Log Many ${auth_token_uri} @{data} ${data} + + ${resp}= Post Request osmhit ${auth_token_uri} data=${data} + log ${resp} + + Pass Execution If ${resp.status_code} in ${success_status_code_list} Get Auth Token completed + + ${content}= To Json ${resp.content} + ${t}= Get From Dictionary ${content} _id + + Set Suite Variable ${token} ${t} + + +Set Dockerized Host + [Arguments] ${env_host} + + Set Suite Variable ${HOST} https://${env_host} + + +Set Standalone Host + [Arguments] ${env_host} + + Set Suite Variable ${HOST} https://${env_host}:9999 diff --git a/robot-systest/deprecated/lib/api/vim_lib.robot b/robot-systest/deprecated/lib/api/vim_lib.robot new file mode 100644 index 00000000..a52354fc --- /dev/null +++ b/robot-systest/deprecated/lib/api/vim_lib.robot @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-sep-2019 +## + + +*** Keywords *** +Create Vim + [Arguments] ${vim_name} ${account_type} ${auth_url} ${user} ${password} ${tenant} ${description} + + &{request_data}= Create Dictionary vim_user=${user} vim_password=${password} vim_url=${auth_url} vim_tenant_name=${tenant} vim_type=${account_type} description=${description} name=${vim_name} + + &{headers}= Create Dictionary Authorization=Bearer ${token} Content-Type=application/json Accept=application/json + + Create Session osmvim ${HOST} verify=${FALSE} headers=${headers} + + LOG ${request_data} + ${res}= Post Request osmvim ${create_vim_uri} data=${request_data} + log ${res.content} + Pass Execution If ${res.status_code} in ${success_status_code_list} Create Vim Request completed + Get Vim ID ${res.content} + + +Delete Vim + [Arguments] ${vim_id} + + ${uri} = Catenate SEPARATOR=/ ${create_vim_uri} ${vim_id} + ${resp}= Delete Request osmvim ${uri} + + log ${resp.content} + Pass Execution If ${resp.status_code} in ${success_status_code_list} Delete Vim Request completed + + +Get Vim ID + [Arguments] ${res} + +# log to console ${res} + ${content}= To Json ${res} + ${id}= Get From Dictionary ${content} id + Set Suite Variable ${vim_id} ${id} + log Vim Id is ${vim_id} diff --git a/robot-systest/deprecated/lib/cli/network_slicing_lib.robot b/robot-systest/deprecated/lib/cli/network_slicing_lib.robot new file mode 100644 index 00000000..9a3ff370 --- /dev/null +++ b/robot-systest/deprecated/lib/cli/network_slicing_lib.robot @@ -0,0 +1,118 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 08-nov-2019 +## + +*** Variables *** +${success_return_code} 0 +${delete_max_wait_time} 1min +${delete_pol_time} 15sec +${ns_launch_max_wait_time} 5min +${ns_launch_pol_time} 30sec + + +*** Keywords *** +Create NST + [Documentation] Create nst at osm + [Arguments] ${nst_pkg} + + ${rc} ${stdout}= Run and Return RC and Output osm nst-create ${nst_pkg} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + [Return] ${stdout} + + +Delete NST + [Documentation] delete nst at osm + [Arguments] ${nst} + + ${rc} ${stdout}= Run and Return RC and Output osm nst-delete ${nst} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + [Return] ${stdout} + + +Launch Network Slice Instance + [Arguments] ${vim_name} ${nst_name} ${ns_config}='' + + ${nsi_name}= GENERATE NAME + Run Keyword If ${ns_config}!='' Create Network Slice With Config ${nsi_name} ${nst_name} ${vim_name} ${ns_config} + ... ELSE Create Network Slice Without Config ${nsi_name} ${nst_name} ${vim_name} + + WAIT UNTIL KEYWORD SUCCEEDS ${ns_launch_max_wait_time} ${ns_launch_pol_time} Check For Network Slice Instance To Configured ${nsi_name} + Check For Network Slice Instance For Failure ${nsi_name} + + +Create Network Slice With Config + [Arguments] ${nsi_name} ${nst_name} ${vim} ${config} + + ${rc} ${stdout}= Run and Return RC and Output osm nsi-create --nsi_name ${nsi_name} --nst_name ${nst_name} --vim_account ${vim} --config ${config} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Append To List ${nsi_list} ${nsi_name} + + +Create Network Slice Without Config + [Arguments] ${nsi_name} ${nst_name} ${vim} + + ${rc} ${stdout}= Run and Return RC and Output osm nsi-create --nsi_name ${nsi_name} --nst_name ${nst_name} --vim_account ${vim} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Append To List ${nsi_list} ${nsi_name} + + +Check For Network Slice Instance For Failure + [Arguments] ${nsi_name} + + ${rc} ${stdout}= Run and Return RC and Output osm nsi-list --filter name="${nsi_name}" + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Should Not Contain ${stdout} failed + + +Check For Network Slice Instance To Configured + [Arguments] ${nsi_name} + + ${rc} ${stdout}= Run and Return RC and Output osm nsi-list --filter name="${nsi_name}" + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Should Contain Any ${stdout} configured failed + + +Delete Network Slice Instance + [Documentation] Delete ns + [Arguments] ${nsi} + + ${rc} ${stdout}= Run and Return RC and Output osm nsi-delete ${nsi} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + WAIT UNTIL KEYWORD SUCCEEDS ${delete_max_wait_time} ${delete_pol_time} Check For NSI Instance To Be Delete ${nsi} + + +Check For NSI Instance To Be Delete + [Arguments] ${nsi} + + ${rc} ${stdout}= Run and Return RC and Output osm nsi-list + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Should Not Contain ${stdout} ${nsi} diff --git a/robot-systest/deprecated/lib/cli/ns_lib.robot b/robot-systest/deprecated/lib/cli/ns_lib.robot new file mode 100644 index 00000000..e0eb0c2b --- /dev/null +++ b/robot-systest/deprecated/lib/cli/ns_lib.robot @@ -0,0 +1,193 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. +## + + +*** Variables *** +${success_return_code} 0 +${ns_launch_max_wait_time} 5min +${ns_launch_pol_time} 30sec +${ns_delete_max_wait_time} 1min +${ns_delete_pol_time} 15sec +${nsconfig} + +*** Keywords *** +Get NS List + [Documentation] Get ns instance list + + ${rc} ${stdout}= Run and Return RC and Output osm ns-list + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Get NS Instance ID + [Arguments] ${ns_name} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-list --filter name="${ns_name}" | awk 'NR==4{print $4}' + log ${stdout} + [Return] ${stdout} + + +Verify All JUJU Applications Status + [Arguments] ${ns} ${api_ip} ${api_port} ${username} ${password} ${api_cert_path} + + ${juju_model}= Get NS Instance ID ${ns} + + Import Library robot_juju.JujuLibrary ${api_ip} ${api_port} ${juju_model} ${username} ${password} ${api_cert_path} + Assert status of applications is ${status_active} + + +Launch Network Services and Return + [Arguments] ${vim_name} ${ns_config}='' + [Documentation] Get Configuration parameter to create Newtork service + + Run Keyword If ${ns_config}=='' Get NS Config + ... ELSE Set NS Config ${ns_config} + Log To Console \n${nsconfig} + Should Not Be Empty ${nsd_ids} There are no NS descriptors to launch the NS + :FOR ${nsd} IN @{nsd_ids} + \ ${ns_name}= GENERATE NAME + \ Append To List ${ns_ids} ${ns_name} + \ Create Network Service ${nsd} ${vim_name} ${ns_name} ${nsconfig} + + +Set NS Config + [Arguments] ${ns_config} + [Documentation] Set NS Configuration variable + + ${nsconfig}= Get Variable Value ${ns_config} '' + Set Test Variable ${nsconfig} + + +Get NS Config + [Documentation] Get NS Configuration from Environment Variable + + ${nsconfig}= Get Environment Variable NS_CONFIG '' + Set Test Variable ${nsconfig} + + +Create Network Service + [Documentation] Create ns at osm + [Arguments] ${nsd} ${vim_name} ${ns_name} ${ns_config} + + Run Keyword If ${ns_config}!='' Create Network Service With Config ${nsd} ${vim_name} ${ns_name} ${ns_config} + ... ELSE Create Network Service Without Config ${nsd} ${vim_name} ${ns_name} + + WAIT UNTIL KEYWORD SUCCEEDS ${ns_launch_max_wait_time} ${ns_launch_pol_time} Check For NS Instance To Configured ${ns_name} + Check For NS Instance For Failure ${ns_name} + + +Create Network Service Without Config + [Documentation] Create ns at osm + [Arguments] ${nsd} ${vim_name} ${ns_name} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-create --ns_name ${ns_name} --nsd_name ${nsd} --vim_account ${vim_name} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Create Network Service With Config + [Documentation] Create ns at osm + [Arguments] ${nsd} ${vim_name} ${ns_name} ${ns_config} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-create --ns_name ${ns_name} --nsd_name ${nsd} --vim_account ${vim_name} --config ${ns_config} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Delete NS + [Documentation] Delete ns + [Arguments] ${ns} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-delete ${ns} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + WAIT UNTIL KEYWORD SUCCEEDS ${ns_delete_max_wait_time} ${ns_delete_pol_time} Check For NS Instance To Be Delete ${ns} + + +Check For NS Instance To Configured + [Arguments] ${ns_name} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-list --filter name="${ns_name}" + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Should Contain Any ${stdout} READY BROKEN + + +Check For NS Instance For Failure + [Arguments] ${ns_name} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-list --filter name="${ns_name}" + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Should Not Contain ${stdout} BROKEN + + +Check For NS Instance To Be Delete + [Arguments] ${ns} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-list + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Should Not Contain ${stdout} ${ns} + + +Force Delete NS + [Documentation] Forcely Delete ns + [Arguments] ${ns} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-delete ${ns} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + WAIT UNTIL KEYWORD SUCCEEDS ${ns_delete_max_wait_time} ${ns_delete_pol_time} Check For NS Instance To Be Delete ${ns} + + +Perform VNF Scale-in Operation + [Arguments] ${ns} ${vnf_member} ${scaling_group} + + ${rc} ${nsr}= Run and Return RC and Output osm ns-show ${ns} --literal + ${scaled_vnf}= Get Scaled Vnf ${nsr} + log to console Scaled VNF befor scale-in operation is ${scaled_vnf} + ${rc} ${stdout}= Run and Return RC and Output osm vnf-scale --scale-in --scaling-group ${scaling_group} ${ns} ${vnf_member} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + Sleep 1m Waiting for scale-in operation to complete + ${rc} ${nsr}= Run and Return RC and Output osm ns-show ${ns} --literal + ${scaled_vnf}= Get Scaled Vnf ${nsr} + log to console Scaled VNF after scale-in operation is ${scaled_vnf} + + +Perform VNF Scale-out Operation + [Arguments] ${ns} ${vnf_member} ${scaling_group} + + ${rc} ${nsr}= Run and Return RC and Output osm ns-show ${ns} --literal + ${scaled_vnf}= Get Scaled Vnf ${nsr} + log to console Scaled VNF befor scale-out operation is ${scaled_vnf} + ${rc} ${stdout}= Run and Return RC and Output osm vnf-scale --scale-out --scaling-group ${scaling_group} ${ns} ${vnf_member} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + Sleep 1m Waiting for scale-out operation to complete + ${rc} ${nsr}= Run and Return RC and Output osm ns-show ${ns} --literal + ${scaled_vnf}= Get Scaled Vnf ${nsr} + log to console Scaled VNF befor scale-out operation is ${scaled_vnf} diff --git a/robot-systest/deprecated/lib/cli/nsd_lib.robot b/robot-systest/deprecated/lib/cli/nsd_lib.robot new file mode 100644 index 00000000..da27b4fe --- /dev/null +++ b/robot-systest/deprecated/lib/cli/nsd_lib.robot @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-sep-2019 +## + +*** Variables *** +${success_return_code} 0 +${delete_max_wait_time} 1min +${delete_pol_time} 15sec + + +*** Keywords *** +Get NSDs List + [Documentation] Get nsds list + + ${rc} ${stdout}= Run and Return RC and Output osm nsd-list + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Create NSD + [Documentation] Create nsd at osm + [Arguments] ${nsd_pkg} + + ${rc} ${stdout}= Run and Return RC and Output osm nsd-create ${nsd_pkg} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + [Return] ${stdout} + + +Delete NSD + [Documentation] Delete nsd + [Arguments] ${nsd_id} + + # For timebeing exception thrown by nsd-delete api was ignor because nsd was deleted successfully. The cause of exception is need to debug further + ${rc} ${stdout}= Run Keyword And Continue On Failure Run and Return RC and Output osm nsd-delete ${nsd_id} + log ${stdout} +# Should Be Equal As Integers ${rc} ${success_return_code} + WAIT UNTIL KEYWORD SUCCEEDS ${delete_max_wait_time} ${delete_pol_time} Check For NSD ${nsd_id} + + +Check For NSD + [Arguments] ${nsd_id} + + ${rc} ${stdout}= Run and Return RC and Output osm nsd-list + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Should Not Contain ${stdout} ${nsd_id} + + +Force Delete NSD + [Documentation] Forcely Delete nsd + [Arguments] ${nsd_id} + + ${rc} ${stdout}= Run and Return RC and Output osm nsd-delete ${nsd_id} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Build NS Descriptor + [Documentation] Build NS Descriptor from the descriptor-packages + [Arguments] ${nsd path} + + ${rc} ${stdout}= Run and Return RC and Output make -C '${CURDIR}${/}../../..${nsd path}' + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} diff --git a/robot-systest/deprecated/lib/cli/osm_package_tools_lib.robot b/robot-systest/deprecated/lib/cli/osm_package_tools_lib.robot new file mode 100644 index 00000000..c8a864c4 --- /dev/null +++ b/robot-systest/deprecated/lib/cli/osm_package_tools_lib.robot @@ -0,0 +1,88 @@ +# 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. +## + +## Change log: +# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 18-Dec-2019 +## + +*** Keywords *** +Create OSM NS Package + [Arguments] ${pkg_name} + ${ns_pkg}= Catenate SEPARATOR=_ ${pkg_name} ns + ${ns_yaml}= Catenate SEPARATOR=_ ${pkg_name} nsd + ${ns_yaml}= Catenate SEPARATOR=. ${ns_yaml} yaml + ${nsd_path}= Join Path ${ns_pkg} ${ns_yaml} + ${rc} ${stdout}= Run and Return RC and Output osm package-create ns ${pkg_name} + Should Be Equal As Integers ${rc} ${success_return_code} + File Should Exist ${nsd_path} + log ${stdout} + + +Create OSM VNF Package + [Arguments] ${pkg_name} + ${vnf_pkg}= Catenate SEPARATOR=_ ${pkg_name} vnf + ${vnf_yaml}= Catenate SEPARATOR=_ ${pkg_name} vnfd + ${vnf_yaml}= Catenate SEPARATOR=. ${vnf_yaml} yaml + ${vnfd_path}= Join Path ${vnf_pkg} ${vnf_yaml} + ${rc} ${stdout}= Run and Return RC and Output osm package-create vnf ${pkg_name} + Should Be Equal As Integers ${rc} ${success_return_code} + File Should Exist ${vnfd_path} + log ${stdout} + + +Validate OSM NS Package + [Arguments] ${pkg_name} + ${ns_pkg}= Catenate SEPARATOR=_ ${pkg_name} ns + ${rc} ${stdout}= Run and Return RC and Output osm package-validate ${ns_pkg} + Should Be Equal As Integers ${rc} ${success_return_code} + Verify Package Validation Result ${ns_pkg} + log ${stdout} + + +Validate OSM VNF Package + [Arguments] ${pkg_name} + ${vnf_pkg}= Catenate SEPARATOR=_ ${pkg_name} vnf + ${rc} ${stdout}= Run and Return RC and Output osm package-validate ${vnf_pkg} + Should Be Equal As Integers ${rc} ${success_return_code} + Verify Package Validation Result ${vnf_pkg} + log ${stdout} + + +Verify Package Validation Result + [Arguments] ${pkg} + ${rc} ${stdout}= Run and Return RC and Output osm package-validate ${pkg} | awk 'NR==6{print $6}' + Should Be Equal As Integers ${rc} ${success_return_code} + Should Not Contain ${stdout} ERROR + log ${stdout} + + +Build OSM VNF Package + [Arguments] ${pkg_name} + ${vnf_pkg}= Catenate SEPARATOR=_ ${pkg_name} vnf + ${vnf_pkg_tar}= Catenate SEPARATOR=. ${vnf_pkg} tar gz + ${rc} ${stdout}= Run and Return RC and Output osm package-build ${vnf_pkg} + Should Be Equal As Integers ${rc} ${success_return_code} + File Should Exist ${vnf_pkg_tar} + log ${stdout} + + +Build OSM NS Package + [Arguments] ${pkg_name} + ${ns_pkg}= Catenate SEPARATOR=_ ${pkg_name} ns + ${ns_pkg_tar}= Catenate SEPARATOR=. ${ns_pkg} tar gz + ${rc} ${stdout}= Run and Return RC and Output osm package-build ${ns_pkg} + Should Be Equal As Integers ${rc} ${success_return_code} + File Should Exist ${ns_pkg_tar} + log ${stdout} diff --git a/robot-systest/deprecated/lib/cli/osm_platform_resiliancy_recovery_lib.robot b/robot-systest/deprecated/lib/cli/osm_platform_resiliancy_recovery_lib.robot new file mode 100644 index 00000000..fb867683 --- /dev/null +++ b/robot-systest/deprecated/lib/cli/osm_platform_resiliancy_recovery_lib.robot @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 08-nov-2019 +## + + +*** Variables *** +${success_return_code} 0 +${er_replicas} 0/1 + + +*** Keywords *** +Check If OSM Working + + ${rc} ${stdout}= Run and Return RC and Output osm vnfpkg-list + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + ${rc} ${stdout}= Run and Return RC and Output osm vim-list + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Check All Service Are Running + + ${rc} ${stdout}= Run and Return RC and Output docker service ls + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Should Not Contain ${stdout} ${er_replicas} + + +Kill Docker Container + [Arguments] ${name} + + ${rc} ${stdout}= Run and Return RC and Output docker rm -f \$(docker ps |grep -i ${name}|awk '{print $1}') + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} \ No newline at end of file diff --git a/robot-systest/deprecated/lib/cli/rbac_lib.robot b/robot-systest/deprecated/lib/cli/rbac_lib.robot new file mode 100644 index 00000000..bbf717a2 --- /dev/null +++ b/robot-systest/deprecated/lib/cli/rbac_lib.robot @@ -0,0 +1,245 @@ +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 21-nov-2019 +## + +*** Keywords *** +Configure NBI For RBAC + ${rc} ${stdout}= Run and Return RC and Output docker service update osm_nbi --force --env-add OSMNBI_AUTHENTICATION_BACKEND=keystone --env-add OSMNBI_AUTHENTICATION_AUTH_URL=keystone --env-add OSMNBI_AUTHENTICATION_AUTH_PORT=5000 --env-add OSMNBI_AUTHENTICATION_USER_DOMAIN_NAME=default --env-add OSMNBI_AUTHENTICATION_PROJECT_DOMAIN_NAME=default --env-add OSMNBI_AUTHENTICATION_SERVICE_USERNAME=nbi --env-add OSMNBI_AUTHENTICATION_SERVICE_PROJECT=service + Should Be Equal As Integers ${rc} ${success_return_code} + Sleep 30s Wait for NBI service to be update + + +Create User + [Arguments] ${user} ${password} + + ${rc} ${stdout}= Run and Return RC and Output osm user-create ${user} --password ${password} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + [Return] ${stdout} + + +List User + ${rc} ${stdout}= Run and Return RC and Output osm user-list + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + [Return] ${stdout} + + +List User And Check For The Created User + [Arguments] ${user} + ${user list}= List User + Should Contain ${user list} ${user} + + +Get User Info By Name + [Arguments] ${user_name} + ${rc} ${stdout}= Run and Return RC and Output osm user-show ${user_name} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + + +Get User Info By ID + [Arguments] ${user_id} + ${rc} ${stdout}= Run and Return RC and Output osm user-show ${user_id} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + + +Update User + [Arguments] ${user} ${field} ${value} + ${rc} ${stdout}= Run and Return RC and Output osm user-update ${field} ${value} ${user} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + + +Update User And Verify Info + [Arguments] ${user} @{args} + FOR ${arg} IN @{args} + ${fields}= Get Dictionary Items ${arg} + Update User ${user} ${fields[0]} ${fields[1]} + END + ${rc} ${stdout}= Run and Return RC and Output osm user-show ${user} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + + +Login With User And Perform Operation + [Arguments] ${user} ${password} ${project} + ${rc} ${stdout}= Run and Return RC and Output export OSM_USER=${user} + Should Be Equal As Integers ${rc} ${success_return_code} + ${rc} ${stdout}= Run and Return RC and Output export OSM_PROJECT=${project} + Should Be Equal As Integers ${rc} ${success_return_code} + ${rc} ${stdout}= Run and Return RC and Output export OSM_PASSWORD=${password} + Should Be Equal As Integers ${rc} ${success_return_code} + ${rc} ${stdout}= Run and Return RC and Output osm ns-list + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + Logout and Login With Admin + + +Logout and Login With Admin + ${rc} ${stdout}= Run and Return RC and Output export OSM_USER=admin + Should Be Equal As Integers ${rc} ${success_return_code} + ${rc} ${stdout}= Run and Return RC and Output export OSM_PASSWORD=admin + Should Be Equal As Integers ${rc} ${success_return_code} + ${rc} ${stdout}= Run and Return RC and Output osm ns-list + Should Be Equal As Integers ${rc} ${success_return_code} + + +Delete User + [Arguments] ${user} + ${rc} ${stdout}= Run and Return RC and Output osm user-delete ${user} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Delete User And Check + [Arguments] ${user} + Delete User ${user} + ${rc} ${stdout}= Run and Return RC and Output osm user-list + Should Be Equal As Integers ${rc} ${success_return_code} + Should Not Contain ${stdout} ${user} + + +Create Project + [Arguments] ${project} + ${rc} ${stdout}= Run and Return RC and Output osm project-create ${project} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + [Return] ${stdout} + + +List Project + ${rc} ${stdout}= Run and Return RC and Output osm project-list + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + [Return] ${stdout} + + +List Project And Verify + [Arguments] ${project} + ${project list}= List Project + Should Contain ${project list} ${project} + + +Get Project Info By Name + [Arguments] ${project_name} + ${rc} ${stdout}= Run and Return RC and Output osm project-show ${project_name} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + [Return] ${stdout} + + +Get Project Info By ID + [Arguments] ${project_id} + ${rc} ${stdout}= Run and Return RC and Output osm project-show ${project_id} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + [Return] ${stdout} + + +Update Project + [Arguments] ${project} ${feild} ${value} + ${rc} ${stdout}= Run and Return RC and Output osm project-update ${feild} ${value} ${project} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + + +Update Project Name And Verify + [Arguments] ${old_name} ${new_name} + Update Project ${old_name} --name ${new_name} + List Project And Verify ${new_name} + + +Delete Project + [Arguments] ${project} + ${rc} ${stdout}= Run and Return RC and Output osm project-delete ${project} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Delete Project And Verify + [Arguments] ${project} + Delete Project ${project} + ${project_list}= List Project + Should Not Contain ${project_list} ${project} + + +Create Role + [Arguments] ${role} + ${rc} ${stdout}= Run and Return RC and Output osm role-create ${role} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + [Return] ${stdout} + + +List Roles + ${rc} ${stdout}= Run and Return RC and Output osm role-list + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + [Return] ${stdout} + + +List Roles And Verify + [Arguments] ${role} + ${role_list}= List Roles + Should Contain ${role_list} ${role} + + +Get Role Info By Name + [Arguments] ${role} + ${rc} ${stdout}= Run and Return RC and Output osm role-show ${role} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + [Return] ${stdout} + + +Get Role Info By ID + [Arguments] ${role_id} + ${rc} ${stdout}= Run and Return RC and Output osm role-show ${role_id} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + [Return] ${stdout} + + +Update Role + [Arguments] ${role} ${feild} ${value} + ${rc} ${stdout}= Run and Return RC and Output osm role-update ${feild} ${value} ${role} + Should Be Equal As Integers ${rc} ${success_return_code} + log ${stdout} + + +Add Role And Verify + [Arguments] ${role} ${role_to_add} + Update Role ${role} --add ${role_to_add} + ${role_info}= Get Role Info By Name ${role} +# Should Contain ${role_info} ${role_to_add} + + +Delete Role + [Arguments] ${role} + ${rc} ${stdout}= Run and Return RC and Output osm role-delete ${role} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Delete Role And Verify + [Arguments] ${role} + Delete Role ${role} + ${role_list}= List Roles + Should Not Contain ${role_list} ${role} diff --git a/robot-systest/deprecated/lib/cli/sdnc_account_lib.robot b/robot-systest/deprecated/lib/cli/sdnc_account_lib.robot new file mode 100644 index 00000000..71680b89 --- /dev/null +++ b/robot-systest/deprecated/lib/cli/sdnc_account_lib.robot @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + + +*** Variables *** +${success_return_code} 0 +${name} "OpenSite" +${user} "admin" +${password} "admin" +${ip} "1.1.1.1" +${type} "onos" +${port} "5858" +${dpid} "a7:2f:aa:be:C3:c1:fe:C9" + + +*** Keywords *** +Create SDNC Account + [Documentation] create new sdnc account + + ${rc} ${stdout}= Run and Return RC and Output osm sdnc-create --name ${name} --type ${type} --ip_address ${ip} --user ${user} --password ${password} --port ${port} --switch_dpid ${dpid} + log ${rc} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Get SDNC List + [Documentation] Get a sdnc account list + + ${rc} ${stdout}= Run and Return RC and Output osm sdnc-list + log ${stdout} + + +Show SDNC Account + [Documentation] Get sdnc account details + + ${rc} ${stdout}= Run and Return RC and Output osm sdnc-show ${name} + log ${rc} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Delete SDNC Account + [Documentation] Get sdnc account details + + ${rc} ${stdout}= Run and Return RC and Output osm sdnc-delete ${name} + log ${rc} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} \ No newline at end of file diff --git a/robot-systest/deprecated/lib/cli/vim_account_lib.robot b/robot-systest/deprecated/lib/cli/vim_account_lib.robot new file mode 100644 index 00000000..c3c8242f --- /dev/null +++ b/robot-systest/deprecated/lib/cli/vim_account_lib.robot @@ -0,0 +1,136 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-sep-2019 +## + +*** Settings *** +Library OperatingSystem +Library String +Library Collections +Library ../custom_lib.py + + +*** Variables *** +${success_return_code} 0 +${user} "robottest" +${password} "fred" +${authurl} "https://127.0.0.1/" +${type} "openstack" +${desc} "a test vim" +${tenant} "robottest2" + + +*** Keywords *** +Create Vim Account + [Documentation] Create a new vim account + + ${vim-name}= Generate Random String 8 [NUMBERS] + ${vim-name}= Catenate SEPARATOR= vim_ ${vim-name} + set global variable ${vim-name} + + ${rc} ${stdout}= Run and Return RC and Output osm vim-create --name ${vim-name} --user ${user} --password ${password} --auth_url ${authurl} --tenant ${tenant} --account_type ${type} --description ${desc} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Get Vim List + [Documentation] Get a vim account list + + ${rc} ${stdout}= Run and Return RC and Output osm vim-list + log ${stdout} + Log To Console ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Delete Vim Account + [Documentation] delete vim account details + [Arguments] ${vim_name}=${vim-name} + + ${rc} ${stdout}= Run and Return RC and Output osm vim-delete ${vim_name} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +VIM Setup To Launch Network Services + [Documentation] Setup a VIM to launch network services + + set global variable @{vim} + ${vmware_url}= Get Environment Variable VCD_AUTH_URL ${EMPTY} + ${openstack_url}= Get Environment Variable OS_AUTH_URL ${EMPTY} + ${vmware_vim}= Run Keyword And Return If '${vmware_url}'!='${EMPTY}' Setup Vmware Vim ${vmware_url} 'vmware' 'pytest system test' + ${openstack_vim}= Run Keyword And Return If '${openstack_url}'!='${EMPTY}' Setup Openstack Vim ${openstack_url} 'openstack' 'pytest system test' + Should Not Be Empty ${vim} VIM details not provided + Log Many @{vim} + + +Setup Openstack Vim + [Documentation] Openstack Vim Account Setup + [Tags] vim-setup + [Arguments] ${authurl} ${type} ${desc} + + ${user}= Get Environment Variable OS_USERNAME '' + ${password}= Get Environment Variable OS_PASSWORD '' + ${tenant}= Get Environment Variable OS_PROJECT_NAME '' + ${vim-config}= Get Environment Variable OS_VIM_CONFIG '' + ${vim_name}= GENERATE NAME + + ${rc} ${stdout}= Run and Return RC and Output osm vim-create --name ${vim_name} --user ${user} --password ${password} --auth_url ${authurl} --tenant ${tenant} --account_type ${type} --description ${desc} --config ${vim-config} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Sleep 30s Wait for to get vim ready + ${rc} ${vim_detail}= Run and Return RC and Output osm vim-show ${vim_name} + Should Contain ${vim_detail} "operationalState": "ENABLED" msg=Openstack vim is not available values=False + Append To List ${vim} ${stdout} + + [Return] ${stdout} + + +Setup Vmware Vim + [Documentation] Vmware Vim Account Setup + [Tags] vim-setup + [Arguments] ${authurl} ${type} ${desc} + + ${user}= Get Environment Variable VCD_USERNAME '' + ${password}= Get Environment Variable VCD_PASSWORD '' + ${tenant}= Get Environment Variable VCD_TENANT_NAME '' + ${vcd-org}= Get Environment Variable VCD_ORGANIZATION '' + ${vim-config}= Get Environment Variable VCD_VIM_CONFIG '' + ${vim_name}= GENERATE NAME + + ${rc} ${stdout}= Run and Return RC and Output osm vim-create --name ${vim_name} --user ${user} --password ${password} --auth_url ${authurl} --tenant ${tenant} --account_type ${type} --description ${desc} --config ${vim-config} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Sleep 30s Wait for to get vim ready + ${rc} ${vim_detail}= Run and Return RC and Output osm vim-show ${vim_name} + Should Contain ${vim_detail} "operationalState": "ENABLED" msg=VMWare VCD vim is not available values=False + Append To List ${vim} ${stdout} + + [Return] ${stdout} + + +Force Delete Vim Account + [Documentation] delete vim account details + [Arguments] ${vim_name} + + ${rc} ${stdout}= Run and Return RC and Output osm vim-delete ${vim_name} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} diff --git a/robot-systest/deprecated/lib/cli/vnfd_lib.robot b/robot-systest/deprecated/lib/cli/vnfd_lib.robot new file mode 100644 index 00000000..1b99f438 --- /dev/null +++ b/robot-systest/deprecated/lib/cli/vnfd_lib.robot @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-sep-2019 +## + +*** Variables *** +${success_return_code} 0 +${delete_max_wait_time} 1min +${delete_pol_time} 15sec + + +*** Keywords *** +Get VNFDs List + [Documentation] Get vnfds list + + ${rc} ${stdout}= Run and Return RC and Output osm vnfd-list + log ${stdout} + log ${rc} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Create VNFD + [Documentation] Create vnfd at osm + [Arguments] ${vnfd_pkg} + + ${rc} ${stdout}= Run and Return RC and Output osm vnfd-create ${vnfd_pkg} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + [Return] ${stdout} + + +Delete VNFD + [Documentation] Delete vnfd + [Arguments] ${vnfd_id} + + ${rc} ${stdout}= Run and Return RC and Output osm vnfd-delete ${vnfd_id} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + WAIT UNTIL KEYWORD SUCCEEDS ${delete_max_wait_time} ${delete_pol_time} Check For VNFD ${vnfd_id} + + +Check For VNFD + [Arguments] ${vnfd_id} + + ${rc} ${stdout}= Run and Return RC and Output osm vnfd-list + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Should Not Contain ${stdout} ${vnfd_id} + + +Force Delete VNFD + [Documentation] Forcely Delete vnfd + [Arguments] ${vnfd_id} + + ${rc} ${stdout}= Run and Return RC and Output osm vnfd-delete ${vnfd_id} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Build VNF Descriptor + [Documentation] Build VNF Descriptor from the descriptor-packages + [Arguments] ${vnfd path} + + ${rc} ${stdout}= Run and Return RC and Output make -C '${CURDIR}${/}../../..${vnfd path}' + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} diff --git a/robot-systest/deprecated/lib/client_lib/client_lib.py b/robot-systest/deprecated/lib/client_lib/client_lib.py new file mode 100644 index 00000000..c9390ae9 --- /dev/null +++ b/robot-systest/deprecated/lib/client_lib/client_lib.py @@ -0,0 +1,69 @@ +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + + +from osmclient import client +from robot.api import logger +import json + + +class ClientLib: + def __init__(self, host="127.0.0.1", user=None, password=None, project=None): + + kwargs = {} + if user is not None: + kwargs['user'] = user + if password is not None: + kwargs['password'] = password + if project is not None: + kwargs['project'] = project + self.client = client.Client(host=host, sol005=True, **kwargs) + + def get_vim_list(self): + resp = self.client.vim.list() + logger.info('VIM List: {}'.format(resp)) + return json.dumps(resp) + + def create_vim_account(self, name, vim_type, user, password, auth_url, tenant, desc='', config=None): + vim_access = {} + if config is not None: + vim_access['config'] = config + vim_access['vim-type'] = vim_type + vim_access['vim-username'] = user + vim_access['vim-password'] = password + vim_access['vim-url'] = auth_url + vim_access['vim-tenant-name'] = tenant + vim_access['description'] = desc + + resp = self.client.vim.create(name, vim_access) + logger.info('Create VIM Account: {}'.format(resp)) + return json.dumps(resp) + + def delete_vim_account(self, name): + resp = self.client.vim.delete(name) + return json.dumps(resp) + + def get_vnfd_list(self): + resp = self.client.vnfd.list() + logger.info('VNF Descriptor List: {}'.format(resp)) + return json.dumps(resp) + + def get_nsd_list(self): + resp = self.client.nsd.list() + logger.info('NS Descriptor List: {}'.format(resp)) + return json.dumps(resp) diff --git a/robot-systest/deprecated/lib/custom_lib.py b/robot-systest/deprecated/lib/custom_lib.py new file mode 100644 index 00000000..2a3d23fa --- /dev/null +++ b/robot-systest/deprecated/lib/custom_lib.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com +##Ì¥ + + +import random +from haikunator import Haikunator +import yaml +from os.path import basename +import hashlib + +from robot.api import logger +from robot.api.deco import keyword + + +def generate_name(): + haikunator = Haikunator() + name = haikunator.haikunate(delimiter='_', token_length=2) + return name + + +def get_random_item_from_list(l): + assert isinstance(l, list), "List should be provided" + return random.choice(l) + + +def get_scaled_vnf(nsr): + nsr = yaml.load(nsr) + if 'scaling-group' in nsr['_admin']: + return nsr['_admin']['scaling-group'][0]['nb-scale-op'] + else: + return 0 + + +@keyword('Get File Name From Path') +def get_filename(path): + filename = basename(path) + return filename, filename.split('.')[0] + + +@keyword('Generate MD5') +def generate_md5(fpath): + hash_md5 = hashlib.md5() + with open(fpath, "rb") as f: + for chunk in iter(lambda: f.read(1024), b""): + hash_md5.update(chunk) + return hash_md5.hexdigest() diff --git a/robot-systest/deprecated/lib/gui/login_gui.robot b/robot-systest/deprecated/lib/gui/login_gui.robot new file mode 100644 index 00000000..c125664f --- /dev/null +++ b/robot-systest/deprecated/lib/gui/login_gui.robot @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. +## + + +*** Variables *** +${DESIRED_CAPABILITIES} desired_capabilities +${BROWSER} Chrome +${DELAY} 0 +${VALID USER} admin +${VALID PASSWORD} admin +${LOGIN URL} /auth/ +${WELCOME URL} /projects/ +${NS LIST URL} /packages/ns/list +${VNF LIST URL} /packages/vnf/list + + +*** Keywords *** +Set Server URL + ${env_host}= Get Environment Variable OSM_HOSTNAME + ${passed}= Run Keyword And Return Status Should Contain ${env_host} : + Run Keyword If ${passed} Set Dockerized Host + ... ELSE Set Standalone Host ${env_host} + + +Open Browser To Login Page + ${chrome_options} = Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver + Call Method ${chrome_options} add_argument headless + Call Method ${chrome_options} add_argument disable-gpu + Call Method ${chrome_options} add_argument no-sandbox + ${options}= Call Method ${chrome_options} to_capabilities + Open Browser ${SERVER}${LOGIN URL} ${BROWSER} desired_capabilities=${options} + Maximize Browser Window + Set Selenium Speed ${DELAY} + Login Page Should Be Open + + +Login Page Should Be Open + Element Text Should Be //*[@id="main_content"]/div/div[2]/p Sign in to start your session + + +Enter Credentials + [Arguments] ${username} ${password} + Input Text name:username ${username} + Input Password name:password ${password} + + +Submit Credentials + Click Button //*[@id="main_content"]/div/div[2]/form/div[3]/div[2]/button + + +Home Page Should Be Open + Location Should Be ${SERVER}${WELCOME URL} +# Element Should Contain id:title_header 6e3a8415-9014-4100-9727-90e0150263be ignore_case=True + Element Attribute Value Should Be //*[@id="main_content"]/div/div[2]/div[1]/div[1]/div/a href ${SERVER}${NS LIST URL} + Element Attribute Value Should Be //*[@id="main_content"]/div/div[2]/div[1]/div[2]/div/a href ${SERVER}${VNF LIST URL} + + +Set Dockerized Host + + Set Suite Variable ${SERVER} http://light-ui + + +Set Standalone Host + [Arguments] ${env_host} + + Set Suite Variable ${SERVER} http://${env_host} diff --git a/robot-systest/deprecated/resource/api/common.robot b/robot-systest/deprecated/resource/api/common.robot new file mode 100644 index 00000000..9342316a --- /dev/null +++ b/robot-systest/deprecated/resource/api/common.robot @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com +## + + +*** Variables *** +&{HEADERS} Content-Type=application/json Accept=application/json +&{data} username=admin password=admin project-id=admin +@{success_status_code_list} 200 201 202 204 + +${descriptor_content_type_gzip} application/gzip + +${auth_token_uri} /osm/admin/v1/tokens + +${get_all_vnfd_uri} /osm/vnfpkgm/v1/vnf_packages +${create_vnfd_uri} /osm/vnfpkgm/v1/vnf_packages_content +${delete_vnfd_uri} /osm/vnfpkgm/v1/vnf_packages + +${get_all_nsd_uri} /osm/nsd/v1/ns_descriptors +${create_nsd_uri} /osm/nsd/v1/ns_descriptors_content +${delete_nsd_uri} /osm/nsd/v1/ns_descriptors + +${base_ns_uri} /osm/nslcm/v1/ns_instances_content +${create_ns_uri} /osm/nslcm/v1/ns_instances_content + +${create_vim_uri} /osm/admin/v1/vim_accounts diff --git a/robot-systest/deprecated/resource/api/variables.py b/robot-systest/deprecated/resource/api/variables.py new file mode 100644 index 00000000..a97763a4 --- /dev/null +++ b/robot-systest/deprecated/resource/api/variables.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-sep-2019 +## + + +# Create/Delete Vim Account +vim_name = 'API-TEST-VIM' +account_type = 'openstack' +auth_url = 'http://127.0.0.1:5000/v3' +user = 'admin' +password = 'admin' +tenant = 'admin' +description = 'Test OpenStack Vim Account' diff --git a/robot-systest/deprecated/resource/cli/disable_port_security_ns_data.py b/robot-systest/deprecated/resource/cli/disable_port_security_ns_data.py new file mode 100644 index 00000000..e1383bd4 --- /dev/null +++ b/robot-systest/deprecated/resource/cli/disable_port_security_ns_data.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2020 Tech Mahindra Limited +# +# 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. +# Author: Mrityunjay Yadav < MY00514913@techmahindra.com >, Jayant Madavi +## + + +# VNFD Details +vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_basic_vnf" +vnfdPckg = '/build/hackfest_basic_vnf.tar.gz' + +# NSD Details +nsdPckgPath = "/descriptor-packages/nsd/no_port_security_ns" +nsdPckg = '/build/no_port_security_ns.tar.gz' diff --git a/robot-systest/deprecated/resource/cli/hackfest_basic_ns_data.py b/robot-systest/deprecated/resource/cli/hackfest_basic_ns_data.py new file mode 100644 index 00000000..8b8054b8 --- /dev/null +++ b/robot-systest/deprecated/resource/cli/hackfest_basic_ns_data.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. +## + + +# VNFD Details +vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_basic_vnf" +vnfdPckg = '/build/hackfest_basic_vnf.tar.gz' + +# NSD Details +nsdPckgPath = "/descriptor-packages/nsd/hackfest_basic_ns" +nsdPckg = '/build/hackfest_basic_ns.tar.gz' diff --git a/robot-systest/deprecated/resource/cli/hackfest_cloudinit_ns_data.py b/robot-systest/deprecated/resource/cli/hackfest_cloudinit_ns_data.py new file mode 100644 index 00000000..d725a36a --- /dev/null +++ b/robot-systest/deprecated/resource/cli/hackfest_cloudinit_ns_data.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. +## + + +# VNFD Details +vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_cloudinit_vnf" +vnfdPckg = '/build/hackfest_cloudinit_vnf.tar.gz' + +# NSD Details +nsdPckgPath = "/descriptor-packages/nsd/hackfest_cloudinit_ns" +nsdPckg = '/build/hackfest_cloudinit_ns.tar.gz' diff --git a/robot-systest/deprecated/resource/cli/hackfest_epa_ns_data.py b/robot-systest/deprecated/resource/cli/hackfest_epa_ns_data.py new file mode 100644 index 00000000..8975e31f --- /dev/null +++ b/robot-systest/deprecated/resource/cli/hackfest_epa_ns_data.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. +## + + +# VNFD Details +vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_epasriov_vnf" +vnfdPckg = '/build/hackfest_epasriov_vnf.tar.gz' + +# NSD Details +nsdPckgPath = "/descriptor-packages/nsd/hackfest_epasriov_ns" +nsdPckg = '/build/hackfest_epasriov_ns.tar.gz' diff --git a/robot-systest/deprecated/resource/cli/hackfest_multivdu_ns_data.py b/robot-systest/deprecated/resource/cli/hackfest_multivdu_ns_data.py new file mode 100644 index 00000000..5ecb9e84 --- /dev/null +++ b/robot-systest/deprecated/resource/cli/hackfest_multivdu_ns_data.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. +## + + +# VNFD Details +vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_multivdu_vnf" +vnfdPckg = '/build/hackfest_multivdu_vnf.tar.gz' + +# NSD Details +nsdPckgPath = "/descriptor-packages/nsd/hackfest_multivdu_ns" +nsdPckg = '/build/hackfest_multivdu_ns.tar.gz' diff --git a/robot-systest/deprecated/resource/cli/hackfest_simplecharm_ns_data.py b/robot-systest/deprecated/resource/cli/hackfest_simplecharm_ns_data.py new file mode 100644 index 00000000..5ffcd35b --- /dev/null +++ b/robot-systest/deprecated/resource/cli/hackfest_simplecharm_ns_data.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. +## + + +# VNFD Details +vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_simplecharm_vnf" +vnfdPckg = '/build/hackfest_simplecharm_vnf.tar.gz' + +# NSD Details +nsdPckgPath = "/descriptor-packages/nsd/hackfest_simplecharm_ns" +nsdPckg = '/build/hackfest_simplecharm_ns.tar.gz' diff --git a/robot-systest/deprecated/resource/cli/test_vnf_data.py b/robot-systest/deprecated/resource/cli/test_vnf_data.py new file mode 100644 index 00000000..02ee065a --- /dev/null +++ b/robot-systest/deprecated/resource/cli/test_vnf_data.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com +## + + +# VNFD Details +vnfdPckgPath = "/descriptor-packages/vnfd/cirros_vnf" +vnfdPckg = '/build/cirros_vnf.tar.gz' + +# NSD Details +nsdPckgPath = "/descriptor-packages/nsd/cirros_ns" +nsdPckg = '/build/cirros_ns.tar.gz' diff --git a/robot-systest/deprecated/resource/cli/ubuntu-cloudinit_ns_data.py b/robot-systest/deprecated/resource/cli/ubuntu-cloudinit_ns_data.py new file mode 100644 index 00000000..ce680372 --- /dev/null +++ b/robot-systest/deprecated/resource/cli/ubuntu-cloudinit_ns_data.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 TATA ELXSI +# +# 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. +## + +## +# Author: Ragavi D (ragavi.d@tataelxsi.co.in) + +# VNFD Details +vnfdPckgPath = "/descriptor-packages/vnfd/ubuntu-cloudinit_vnf" +vnfdPckg = '/build/ubuntu-cloudinit_vnf.tar.gz' + +# NSD Details +nsdPckgPath = "/descriptor-packages/nsd/ubuntu-cloudinit_ns" +nsdPckg = '/build/ubuntu-cloudinit_ns.tar.gz' diff --git a/robot-systest/deprecated/run_test.sh b/robot-systest/deprecated/run_test.sh new file mode 100644 index 00000000..3f86ff9c --- /dev/null +++ b/robot-systest/deprecated/run_test.sh @@ -0,0 +1,109 @@ +#!/usr/bin/env bash + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-Sep-2019 +# Entry script to start the vim, smoke, openstack_stage_4 and comprehensive test using Robot Framework as a Automation Test Framework +## + +BASEDIR=$(dirname "$0") +TOPDIR=$(dirname "$BASEDIR") +DESCRIPTOR_DIR=$TOPDIR/descriptor-packages + + +robot_prerequisite(){ + echo -e "\nInstalling robot requirements" + # installing python packages + pip install haikunator requests robotframework robotframework-seleniumlibrary robotframework-requests robotframework-jsonlibrary +} + +while getopts ":t:-:" o; do + case "${o}" in + t) + TEST=${OPTARG} + ;; + -) + [[ "${OPTARG}" == "do_install" ]] && robot_prerequisite && continue + ;; + \?) + echo -e "Invalid option: '-$OPTARG'\n" >&2 + exit 1 + ;; + esac +done + +if [[ -z $TEST ]]; then + printf "Test not provided. \nRunning default test: smoke\n" + TEST="smoke" +fi + +if [[ "$TEST" == "vim" ]]; then + echo "Robot Framework Vim Test" + robot -d $BASEDIR/reports -i vim $BASEDIR/testsuite/ + exit 0 +elif [[ "$TEST" == "smoke" ]]; then + echo "Robot Framework SMOKE test" + robot --removekeywords tag:vim-setup --removekeywords WUKS -d $BASEDIR/reports -i smoke $BASEDIR/testsuite/ + exit 0 +elif [[ "$TEST" == "sanity" ]]; then + echo "Robot Framework Cirros VNF Test" + mkdir -p $BASEDIR/images/cache + if [[ ! -z $OS_AUTH_URL ]]; then + (openstack image show cirros-0.3.5-x86_64-disk.img) || (wget -r -nc http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img -O $BASEDIR/images/cache/cirros-0.3.5-x86_64-disk.img && make $BASEDIR/images/cache/cirros-0.3.5-x86_64-disk.img && openstack image create --file $BASEDIR/images/cache/cirros-0.3.5-x86_64-disk.img cirros-0.3.5-x86_64-disk.img) + fi + if [[ ! -z $VCD_AUTH_URL ]]; then +# TODO: Check for image over VIM before downloading + if [[ ! -s $BASEDIR/images/cache/cirros-0.3.5-x86_64-disk.img ]]; then + wget -r -nc http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img -O $BASEDIR/images/cache/cirros-0.3.5-x86_64-disk.img + fi + ovf_converter $BASEDIR/images/cache/cirros-0.3.5-x86_64-disk.img -n cirros + python $TOPDIR/tools/vmware_ovf_upload.py $VCD_AUTH_URL $VCD_USERNAME $VCD_PASSWORD $VCD_ORGANIZATION $BASEDIR/images/cache/cirros.ovf + fi + robot --removekeywords tag:vim-setup --removekeywords WUKS -d $BASEDIR/reports -i sanity $BASEDIR/testsuite/ + exit 0 +elif [[ "$TEST" == "comprehensive" ]]; then + echo "Robot Framework Comprehensive Test" + echo "Installing chrome driver and chrome for UI testing" + # installing chrome driver and chrome for UI testing + curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - + echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list + apt-get update && apt-get -y install google-chrome-stable chromium-chromedriver + echo "Checking of image over VIMs" + mkdir -p $BASEDIR/images/cache + if [[ ! -z $OS_AUTH_URL ]]; then + (openstack image show ubuntu1604) || (wget -r -nc https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img -O $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img && make $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img && openstack image create --file $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img ubuntu1604) + (openstack image show hackfest3-mgmt) || (wget -r -nc https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img -O $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img && make $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img && openstack image create --file $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img hackfest3-mgmt) + fi + if [[ ! -z $VCD_AUTH_URL ]]; then +# TODO: Check for image over VIM before downloading + if [[ ! -s $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img ]]; then + wget -r -nc https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img -O $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img + fi + ovf_converter $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img -n ubuntu1604 + python $TOPDIR/tools/vmware_ovf_upload.py $VCD_AUTH_URL $VCD_USERNAME $VCD_PASSWORD $VCD_ORGANIZATION $BASEDIR/images/cache/ubuntu1604.ovf + fi + robot --removekeywords tag:vim-setup --removekeywords WUKS -d $BASEDIR/reports -i comprehensive $BASEDIR/testsuite/ + exit 0 +else + echo "wrong test provided" + exit 1 +fi + +exit 1 diff --git a/robot-systest/deprecated/testsuite/api/TS01__Vim_Account.robot b/robot-systest/deprecated/testsuite/api/TS01__Vim_Account.robot new file mode 100644 index 00000000..be04c3fd --- /dev/null +++ b/robot-systest/deprecated/testsuite/api/TS01__Vim_Account.robot @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. +## + + +*** Settings *** +Documentation Test Suite to create and delete vim account +Library Collections +Library RequestsLibrary +Library OperatingSystem +Resource ../../lib/api/common.robot +Resource ../../lib/api/vim_lib.robot +Resource ../../resource/api/common.robot +Variables ../../resource/api/variables.py + +Suite Setup Get Auth Token +Suite Teardown Delete All Sessions + + +*** Variables *** +${vim_id} ${EMPTY} + + +*** Test Cases *** +Create Vim Account + [Tags] comprehensive api_vim_test + [Template] Create Vim + ${vim name} ${account type} ${auth url} ${user} ${password} ${tenant} ${description} + + +Delete Vim Account + [Tags] comprehensive api_vim_test + [Template] Delete Vim + ${vim_id} diff --git a/robot-systest/deprecated/testsuite/cli/TS008__Test_SDNC.robot b/robot-systest/deprecated/testsuite/cli/TS008__Test_SDNC.robot new file mode 100644 index 00000000..3b2b21ae --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS008__Test_SDNC.robot @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + + +*** Settings *** +Documentation Test suiet to create/delete sdnc account via osmclient +Library OperatingSystem +Library Collections +Resource ../../lib/cli/sdnc_account_lib.robot + + +*** Test Cases *** +Create SDNC Account Test + [Tags] sdnc + + Create SDNC Account + + +Get SDNC Accounts List Test + [Tags] sdnc + + Get SDNC List + + +Delete SDNC Account Test + [Tags] sdnc + + Delete SDNC Account diff --git a/robot-systest/deprecated/testsuite/cli/TS009__Feature_6283_Network_Slicing_Test.robot b/robot-systest/deprecated/testsuite/cli/TS009__Feature_6283_Network_Slicing_Test.robot new file mode 100644 index 00000000..fa8c44a4 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS009__Feature_6283_Network_Slicing_Test.robot @@ -0,0 +1,117 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 08-nov-2019 : network slicing test library +## + + +*** Settings *** +Documentation Test Suite to create hackfest basic nestwork service +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/vnfd_lib.robot +Resource ../../lib/cli/nsd_lib.robot +Resource ../../lib/cli/vim_account_lib.robot +Resource ../../lib/cli/network_slicing_lib.robot +Library ../../lib/custom_lib.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +${vnfd_id} +@{vnfd_ids} +${nsd_id} +@{nsd_ids} +${nst_id} +@{nsi_list} +${vnfdPckg} slice_hackfest_vnfd.tar.gz +${nsdPckg} slice_hackfest_nsd.tar.gz +${nstPckg} slice_hackfest_nst.yaml +${vnfdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/slice_hackfest_vnfd.tar.gz +${nsdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/slice_hackfest_nsd.tar.gz +${nstftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/slice_hackfest_nst.yaml +${nst_config} '{netslice-vld: [{name: mgmtnet, vim-network-name: mgmt}]}' + + +*** Test Cases *** +Create Slice Hackfest VNF Descriptor + [Tags] slice_hackfest comprehensive + [Documentation] Create Slice Hackfest VNF Descriptor Test + + ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/cli/slice/' ${vnfdftpPath} + ${vnfd_id}= Create VNFD '${CURDIR}${/}../../resource/cli/slice${/}${vnfdPckg}' + Append To List ${vnfd_ids} ${vnfd_id} + + +Create Slice Hackfest NS Descriptor + [Tags] slice_hackfest comprehensive + [Documentation] Create Slice Hackfest NS Descriptor Test + + ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/cli/slice/' ${nsdftpPath} + ${nsd_id}= Create NSD '${CURDIR}${/}../../resource/cli/slice${/}${nsdPckg}' + Append To List ${nsd_ids} ${nsd_id} + + +Create Slice Hackfest Network Slice Template + [Tags] slice_hackfest comprehensive + [Documentation] Create Slice Hackfest Network Slice Template Test + +# set suite variable ${nst_id} + ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/cli/slice/' ${nstftpPath} + ${nst_id}= Create NST '${CURDIR}${/}../../resource/cli/slice${/}${nstPckg}' + Set Suite Variable ${nst_id} + + +Instanciate Network Slice + [Tags] slice_hackfest comprehensive + [Documentation] Instantiate Network Slice Test + + :FOR ${vim_name} IN @{vim} + \ Launch Network Slice Instance ${vim_name} ${nst_id} ${nst_config} + + +Terminate Network Slice Instance + [Tags] slice_hackfest comprehensive + [Documentation] Terminate Network Slice Instance Test + + :FOR ${nsi} IN @{nsi_list} + \ Delete Network Slice Instance ${nsi} + + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: delete NST, NSD and VNFD + + Delete NST ${nst_id} + +# :FOR ${nsi} IN @{nsi_list} +# \ Delete Network Slice Instance ${nsi} + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + :FOR ${vnfd} IN @{vnfd_ids} + \ Delete VNFD ${vnfd} + +# :FOR ${vim_id} IN @{vim} +# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/deprecated/testsuite/cli/TS010__OSM_Platform_Resiliency_and_Recovery_Test.robot b/robot-systest/deprecated/testsuite/cli/TS010__OSM_Platform_Resiliency_and_Recovery_Test.robot new file mode 100644 index 00000000..2475e740 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS010__OSM_Platform_Resiliency_and_Recovery_Test.robot @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 08-nov-2019 : network slicing test library +## + + +*** Settings *** +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/osm_platform_resiliancy_recovery_lib.robot +Library ../../lib/custom_lib.py + + +*** Variables *** +${max_wait_time} 5min +${pol_time} 30sec +@{components} osm_keystone.1 osm_lcm.1 osm_light-ui.1 osm_mon.1 osm_mongo.1 osm_nbi.1 osm_pol.1 osm_prometheus.1 osm_ro.1 osm_kafka.1 osm_zookeeper.1 osm_mysql.1 + + +*** Test Cases *** +Feature 1413 - OSM platform resiliency to single component failure + [Tags] platform resiliency + [Documentation] OSM platform resiliency test + + ${name}= Get Random Item From List ${components} + Check If OSM Working + WAIT UNTIL KEYWORD SUCCEEDS 2x 30sec Check All Service Are Running + Kill Docker Container ${name} + WAIT UNTIL KEYWORD SUCCEEDS ${max_wait_time} ${pol_time} Check All Service Are Running + Check If OSM Working + + +Feature 1412 - OSM platform recovery after major failure + [Tags] platform recovery + [Documentation] OSM platform recovery + + Check If OSM Working + WAIT UNTIL KEYWORD SUCCEEDS 2x 30sec Check All Service Are Running + :FOR ${component} IN @{components} + \ Kill Docker Container ${component} + WAIT UNTIL KEYWORD SUCCEEDS ${max_wait_time} ${pol_time} Check All Service Are Running + Check If OSM Working diff --git a/robot-systest/deprecated/testsuite/cli/TS011__Feature_1415_RBAC_For_Platform_Test.robot b/robot-systest/deprecated/testsuite/cli/TS011__Feature_1415_RBAC_For_Platform_Test.robot new file mode 100644 index 00000000..c8e44e15 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS011__Feature_1415_RBAC_For_Platform_Test.robot @@ -0,0 +1,106 @@ +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 21-nov-2019 +## + +*** Settings *** +Documentation Test RBAC for platform using CRUD operations over users, projects and roles +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/rbac_lib.robot + +#Suite Setup Configure NBI For RBAC +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +${success_return_code} 0 +# Test data for Users Operations test +${user_id} ${EMPTY} +&{update_field1} --set-project=admin,system_admin,project_admin #project,role1,role2... +&{update_field2} --add-project-role=admin,project_user #project,role1,role2... +&{update_field3} --add-project-role=service,account_manager #project,role1,role2... +@{update_user} ${update_field1} ${update_field2} ${update_field3} +# Test data for Project Operations test +${project_id} ${EMPTY} +# Test data for Role Operations test +${role_id} ${EMPTY} +${role_to_add} "vims: true" + + +*** Test Cases *** +Test User Operations + [Documentation] Test RBAC using CRUD operation over users + [Tags] rabc rabc_users comprehensive + + ${user-name}= Generate Random String 8 [NUMBERS] + ${user-name}= Catenate SEPARATOR= user_ ${user-name} + set global variable ${user-name} + ${user-password}= Generate Random String 8 [NUMBERS] + set global variable ${user-password} + ${user_id}= Create User ${user-name} ${user-password} + List User And Check For The Created User ${user-name} + Get User Info By Name ${user-name} + Get User Info By ID ${user_id} + Update User And Verify Info ${user-name} @{update_user} + Login With User And Perform Operation ${user-name} ${user-password} admin + Delete User And Check ${user-name} + + +Test Project Operatios + [Documentation] Test RBAC using CRUD operation over projects + [Tags] rabc rabc_projects comprehensive + + ${project-name}= Generate Random String 8 [NUMBERS] + ${project-name}= Catenate SEPARATOR= project_ ${project-name} + set global variable ${project-name} + ${project_id}= Create Project ${project-name} + List Project And Verify ${project-name} + Get Project Info By Name ${project-name} + Get Project Info By ID ${project_id} + ${new-project-name}= Generate Random String 8 [NUMBERS] + ${new-project-name}= Catenate SEPARATOR= project_ ${new-project-name} + set global variable ${new-project-name} + Update Project Name And Verify ${project-name} ${new-project-name} + Delete Project And Verify ${new-project-name} + + +Test Role Operations + [Documentation] Test RBAC using CRUD operation over roles + [Tags] rabc rabc_roles comprehensive + + ${role-name}= Generate Random String 8 [NUMBERS] + ${role-name}= Catenate SEPARATOR= project_ ${role-name} + set global variable ${role-name} + ${role_id}= Create Role ${role-name} + List Roles And Verify ${role-name} + Get Role Info By Name ${role-name} + Get Role Info By ID ${role_id} + Add Role And Verify ${role-name} ${role_to_add} + Delete Role And Verify ${role-name} + + +*** Keywords *** +Test Cleanup + Delete User ${user-name} + Delete Project ${project-name} + Delete Project ${new-project-name} + Delete Role ${role-name} \ No newline at end of file diff --git a/robot-systest/deprecated/testsuite/cli/TS012__Feature_7181_Allow_Instantiation_Parameters_in_CloudInit.robot b/robot-systest/deprecated/testsuite/cli/TS012__Feature_7181_Allow_Instantiation_Parameters_in_CloudInit.robot new file mode 100644 index 00000000..c5e1c75d --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS012__Feature_7181_Allow_Instantiation_Parameters_in_CloudInit.robot @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 TATA ELXSI +# +# 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. +## + +## Author: Ragavi D (ragavi.d@tataelxsi.co.in) + +*** Settings *** +Documentation Test Suite to create hackfest basic nestwork service +Suite Teardown Run Keyword And Ignore Error Test Cleanup +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/vnfd_lib.robot +Resource ../../lib/cli/nsd_lib.robot +Resource ../../lib/cli/ns_lib.robot +Resource ../../lib/cli/vim_account_lib.robot +Library ../../lib/custom_lib.py +Variables ../../resource/cli/ubuntu-cloudinit_ns_data.py + +*** Variables *** +@{vnfd_ids} +${nsd_id} ${EMPTY} +@{nsd_ids} +@{ns_ids} +${ns_config} '{vld: [ {name: mgmtnet, vim-network-name: osm-ext} ], additionalParamsForVnf: [ { member-vnf-index: "1", additionalParams: { password: "PASSWORD" } } ] }' + +*** Test Cases *** +Create Ubuntu CloudInit VNF Descriptor + [Tags] comprehensive ubuntu-cloudinit_ns + Build VNF Descriptor ${vnfdPckgPath} + ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' + Append To List ${vnfd_ids} ${vnfd_id} + +Create Ubuntu CloudInit NS Descriptor + [Tags] comprehensive ubuntu-cloudinit_ns + Build NS Descriptor ${nsdPckgPath} + ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' + Append To List ${nsd_ids} ${nsd_id} + +Network Service Instance Test + [Documentation] Launch and terminate network services + [Tags] comprehensive ubuntu-cloudinit_ns + : FOR ${vim_name} IN @{vim} + \ Launch Network Services and Return ${vim_name} ${ns_config} + +Delete NS Instance Test + [Tags] comprehensive ubuntu-cloudinit_ns + : FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + +Delete NS Descriptor Test + [Tags] comprehensive ubuntu-cloudinit_ns + : FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + +Delete VNF Descriptor Test + [Tags] comprehensive ubuntu-cloudinit_ns + : FOR ${vnfd_id} IN @{vnfd_ids} + \ Delete VNFD ${vnfd_id} + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim + : FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + : FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + : FOR ${vnfd} IN @{vnfd_ids} + \ Delete VNFD ${vnfd} + # :FOR ${vim_id} IN @{vim} + # Delete Vim Account ${vim_id} diff --git a/robot-systest/deprecated/testsuite/cli/TS013__Feature_1415_RBAC_Visibility_Of_Packages_And_Instances.robot b/robot-systest/deprecated/testsuite/cli/TS013__Feature_1415_RBAC_Visibility_Of_Packages_And_Instances.robot new file mode 100644 index 00000000..43029516 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS013__Feature_1415_RBAC_Visibility_Of_Packages_And_Instances.robot @@ -0,0 +1,144 @@ +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 18-Dec-2019 +## + +*** Settings *** +Documentation Test RBAC for platform - Visibility of packages and instances test +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/rbac_lib.robot +Resource ../../lib/cli/vnfd_lib.robot +Resource ../../lib/cli/nsd_lib.robot +Resource ../../lib/cli/ns_lib.robot +Resource ../../lib/cli/vim_account_lib.robot +Library ../../lib/custom_lib.py + +Suite Setup Prerequisite For Test +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +${success_return_code} 0 + +@{vim} +@{vnfd_ids} +${nsd_id} +@{nsd_ids} +@{ns_ids} +${vnfdPckg} hackfest_basic_vnf.tar.gz +${nsdPckg} hackfest_basic_ns.tar.gz +${vnfdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/hackfest_basic_vnf.tar.gz +${nsdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/hackfest_basic_ns.tar.gz + +# Test data for Users Operations test +${user_id} ${EMPTY} + +# Test data for Project Operations test +${project_id} ${EMPTY} + + +*** Test Cases *** +Create VIM Account For New User + [Documentation] Test to create VIM account for newly created user + [Tags] rabc rabc_vim comprehensive nbi + + Wait Until Keyword Succeeds 2x 30sec VIM Setup To Launch Network Services + + +Create VNF Descriptor For New User + [Documentation] Test to create vnfd for new user + [Tags] rabc rabc_vnfd comprehensive nbi + + ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/cli/rbac/' ${vnfdftpPath} + ${vnfd_id}= Create VNFD '${CURDIR}${/}../../resource/cli/rbac${/}${vnfdPckg}' + Append To List ${vnfd_ids} ${vnfd_id} + + +Create NS Descriptor For New User + [Documentation] Test to create nsd for new user + [Tags] rabc rabc_nsd comprehensive nbi + + ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/cli/rbac/' ${nsdftpPath} + ${nsd_id}= Create VNFD '${CURDIR}${/}../../resource/cli/rbac${/}${nsdPckg}' + Append To List ${nsd_ids} ${nsd_id} + + +Instanciate Network Service For New User + [Documentation] Launch network services for new user + [Tags] rabc rabc_ns comprehensive nbi + + :FOR ${vim_name} IN @{vim} + \ Launch Network Services and Return ${vim_name} + + +Delete NS Instance Test + [Tags] rabc rabc_ns comprehensive nbi + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + +Delete NS Descriptor Test + [Tags] rabc rabc_nsd comprehensive nbi + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + +Delete VNF Descriptor Test + [Tags] rabc rabc_vnfd comprehensive nbi + + :FOR ${vnfd_id} IN @{vnfd_ids} + \ Delete VNFD ${vnfd_id} + + +*** Keywords *** +Prerequisite For Test + ${user-name}= Generate Random String 8 [NUMBERS] + ${user-name}= Catenate SEPARATOR= user_ ${user-name} + set global variable ${user-name} + ${user-password}= Generate Random String 8 [NUMBERS] + set global variable ${user-password} + ${user_id}= Create User ${user-name} ${user-password} + + ${project-name}= Generate Random String 8 [NUMBERS] + ${project-name}= Catenate SEPARATOR= project_ ${project-name} + set global variable ${project-name} + ${project_id}= Create Project ${project-name} + + &{update_field1}= Create Dictionary --add-project-role=admin,project_user + &{update_field2}= Create Dictionary --add-project-role=${project-name},account_manager + @{update_user}= Create List ${update_field1} ${update_field2} + Update User And Verify Info ${user-name} @{update_user} + Login With User And Perform Operation ${user-name} ${user-password} ${project-name} + + +Test Cleanup + [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim + +# :FOR ${vim_id} IN @{vim} +# \ Delete Vim Account ${vim_id} + + Logout and Login With Admin + + Delete User ${user-name} + Delete Project ${project-name} diff --git a/robot-systest/deprecated/testsuite/cli/TS014__Feature_7921_MongoDB_Filesystem_Test.robot b/robot-systest/deprecated/testsuite/cli/TS014__Feature_7921_MongoDB_Filesystem_Test.robot new file mode 100644 index 00000000..3070d419 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS014__Feature_7921_MongoDB_Filesystem_Test.robot @@ -0,0 +1,124 @@ +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 18-Dec-2019 +## + +*** Settings *** +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/vnfd_lib.robot +Resource ../../lib/cli/nsd_lib.robot +Resource ../../lib/cli/ns_lib.robot +Resource ../../lib/cli/vim_account_lib.robot +Library ../../lib/custom_lib.py + +Suite Setup Prerequisite For Test +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +${success_return_code} 0 + +@{vim} +@{vnfd_ids} +${nsd_id} +@{nsd_ids} +@{ns_ids} +${vnfdPckg} hackfest_basic_vnf.tar.gz +${nsdPckg} hackfest_basic_ns.tar.gz +${vnfdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/hackfest_basic_vnf.tar.gz +${nsdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/hackfest_basic_ns.tar.gz + + +*** Test Cases *** +Create VNF Descriptor Test + [Tags] comprehensive feature7921 + + ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/' ${vnfdftpPath} + ${vnfd_id}= Create VNFD '${CURDIR}${/}../../resource${/}${vnfdPckg}' + Append To List ${vnfd_ids} ${vnfd_id} + + +Create NS Descriptor Test + [Tags] comprehensive feature7921 + + ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/' ${nsdftpPath} + ${nsd_id}= Create VNFD '${CURDIR}${/}../../resource${/}${nsdPckg}' + Append To List ${nsd_ids} ${nsd_id} + + +Instanciate Network Service Test + [Tags] comprehensive feature7921 + [Setup] Wait Until Keyword Succeeds 2x 30sec VIM Setup To Launch Network Services + + :FOR ${vim_name} IN @{vim} + \ Launch Network Services and Return ${vim_name} + + +Delete NS Instance Test + [Tags] comprehensive feature7921 + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + +Delete NS Descriptor Test + [Tags] comprehensive feature7921 + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + +Delete VNF Descriptor Test + [Tags] comprehensive feature7921 + + :FOR ${vnfd_id} IN @{vnfd_ids} + \ Delete VNFD ${vnfd_id} + + +*** Keywords *** +Prerequisite For Test + [Documentation] Update docker service to use mongodb as file system + + Update NBI Service + Update LCM Service + + +Update NBI Service + ${rc} ${stdout}= Run and Return RC and Output docker service update osm_nbi --force --env-add OSMNBI_STORAGE_DRIVER=mongo --env-add OSMNBI_STORAGE_PATH=/app/storage --env-add OSMNBI_STORAGE_COLLECTION=files --env-add OSMNBI_STORAGE_URI=mongodb://mongo:27017 + Should Be Equal As Integers ${rc} ${success_return_code} + Sleep 30s Wait for NBI service to be update + + +Update LCM Service + ${rc} ${stdout}= Run and Return RC and Output docker service update osm_lcm --force --env-add OSMLCM_STORAGE_DRIVER=mongo --env-add OSMLCM_STORAGE_PATH=/app/storage --env-add OSMLCM_STORAGE_COLLECTION=files --env-add OSMLCM_STORAGE_URI=mongodb://mongo:27017 + Should Be Equal As Integers ${rc} ${success_return_code} + Sleep 30s Wait for LCM service to be update + + +Test Cleanup +# :FOR ${vim_id} IN @{vim} +# \ Delete Vim Account ${vim_id} + + ${rc} ${stdout}= Run and Return RC and Output docker service rollback osm_nbi + Should Be Equal As Integers ${rc} ${success_return_code} + ${rc} ${stdout}= Run and Return RC and Output docker service rollback osm_lcm + Should Be Equal As Integers ${rc} ${success_return_code} diff --git a/robot-systest/deprecated/testsuite/cli/TS015__Feature_8047_OSMClient_Package_Creation_And_Validation.robot b/robot-systest/deprecated/testsuite/cli/TS015__Feature_8047_OSMClient_Package_Creation_And_Validation.robot new file mode 100644 index 00000000..e717c105 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS015__Feature_8047_OSMClient_Package_Creation_And_Validation.robot @@ -0,0 +1,84 @@ +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 18-Dec-2019 +## + +*** Settings *** +Documentation Test Suite to test OSMClient Package Createtion and Validation Tool +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/osm_package_tools_lib.robot + +Suite Setup Prerequisite For Test +Suite Teardown Test Cleanup + + +*** Variables *** +${success_return_code} 0 +${base_dir} ${EXECDIR} +${pkg_dir} ${CURDIR}${/}../../resource/cli/packages +${ns_pkg} vEPC +${vnf_pkg} vEPC + + +*** Test Cases *** +Test OSM NS Package Create + [Tags] comprehensive feature8047 + Create OSM NS Package ${ns_pkg} + + +Test OSM VNF Package Create + [Tags] comprehensive feature8047 + Create OSM VNF Package ${vnf_pkg} + + +Test OSM NS Package Validate + [Tags] comprehensive feature8047 + Validate OSM NS Package ${ns_pkg} + + +Test OSM VNF Package Validate + [Tags] comprehensive feature8047 + Validate OSM VNF Package ${vnf_pkg} + + +Test OSM VNF Package Build + [Tags] comprehensive feature8047 + Build OSM VNF Package ${vnf_pkg} + + +Test OSM NS Package Build + [Tags] comprehensive feature8047 + Build OSM NS Package ${ns_pkg} + + +*** Keywords *** +Prerequisite For Test + Create Directory ${pkg_dir} + ${rc} ${stdout}= Run and Return RC and Output cd ${pkg_dir} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Test Cleanup + ${rc} ${stdout}= Run and Return RC and Output cd ${base_dir} + Should Be Equal As Integers ${rc} ${success_return_code} + + Remove Directory ${pkg_dir} recursive=${TRUE} \ No newline at end of file diff --git a/robot-systest/deprecated/testsuite/cli/TS016__Manual_VNF_VDU_Scaling_Test.robot b/robot-systest/deprecated/testsuite/cli/TS016__Manual_VNF_VDU_Scaling_Test.robot new file mode 100644 index 00000000..3f7bce8d --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS016__Manual_VNF_VDU_Scaling_Test.robot @@ -0,0 +1,129 @@ +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 27-Nov-19 +## + +*** Settings *** +Documentation Test Suite to test manual scale-in/out cirros VNF and NS using osm-client +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/vnfd_lib.robot +Resource ../../lib/cli/nsd_lib.robot +Resource ../../lib/cli/ns_lib.robot +Resource ../../lib/cli/vim_account_lib.robot +Library ../../lib/custom_lib.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +# VNFD Details +@{vnfd_ids} +${vnfdPckgPath} /descriptor-packages/vnfd/cirros_vnf +${vnfdPckg} /build/cirros_vnf.tar.gz + +# NSD Details +@{nsd_ids} +${nsdPckgPath} /descriptor-packages/nsd/cirros_ns +${nsdPckg} /build/cirros_ns.tar.gz +${scaling_group} scaling_cirros_vnf +${vnf_member_index} 1 + +@{ns_ids} + + +*** Test Cases *** +Create VNF Descriptor Test + [Documentation] Build and onboard cirros VNF package with scaling parameter + [Tags] comprehensive manual_scaling + + Build VNF Descriptor ${vnfdPckgPath} + ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' + Append To List ${vnfd_ids} ${vnfd_id} + + +Create NS Descriptor Test + [Documentation] Build and onboard cirros NS package with scaling parameter + [Tags] comprehensive manual_scaling + + Build NS Descriptor ${nsdPckgPath} + ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' + Append To List ${nsd_ids} ${nsd_id} + + +Network Service Instance Test + [Documentation] Launch cirros ns with scaling parameter + [Tags] comprehensive manual_scaling + + :FOR ${vim_name} IN @{vim} + \ Launch Network Services and Return ${vim_name} + + +Perform VNF/VDU Scaling-out Operation Over Launched NS Test + [Documentation] scale-out cirros ns + [Tags] comprehensive manual_scaling + :FOR ${ns} IN @{ns_ids} + \ Perform VNF Scale-out Operation ${ns} ${vnf_member_index} ${scaling_group} + + +Perform VNF/VDU Scaling-in Operation Over Launched NS Test + [Documentation] scale-in cirros ns + [Tags] comprehensive manual_scaling + :FOR ${ns} IN @{ns_ids} + \ Perform VNF Scale-in Operation ${ns} ${vnf_member_index} ${scaling_group} + + +Delete NS Instance Test + [Tags] comprehensive manual_scaling + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + +Delete NS Descriptor Test + [Tags] comprehensive manual_scaling + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + +Delete VNF Descriptor Test + [Tags] comprehensive manual_scaling + + :FOR ${vnfd} IN @{vnfd_ids} + \ Delete VNFD ${vnfd} + + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + :FOR ${vnfd} IN @{vnfd_ids} + \ Delete VNFD ${vnfd} + +# :FOR ${vim_id} IN @{vim} +# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/deprecated/testsuite/cli/TS017__Feature_7326_Disable_Port_Security_at_Network_level.robot b/robot-systest/deprecated/testsuite/cli/TS017__Feature_7326_Disable_Port_Security_at_Network_level.robot new file mode 100644 index 00000000..562dc15d --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS017__Feature_7326_Disable_Port_Security_at_Network_level.robot @@ -0,0 +1,122 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2020 Tech Mahindra Limited +# +# 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. +# +# Author: Mrityunjay Yadav , Jayant Madavi +## + + +*** Settings *** +Documentation Test Suite to test disable network port security NS +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/vnfd_lib.robot +Resource ../../lib/cli/nsd_lib.robot +Resource ../../lib/cli/ns_lib.robot +Resource ../../lib/cli/vim_account_lib.robot +Library ../../lib/custom_lib.py +Variables ../../resource/cli/disable_port_security_ns_data.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +@{vnfd_ids} +${nsd_id} +@{nsd_ids} +@{ns_ids} + + +*** Test Cases *** +Create VNF Descriptor + [Tags] disable_port_security comprehensive + + Build VNF Descriptor ${vnfdPckgPath} + ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' + Append To List ${vnfd_ids} ${vnfd_id} + + +Create NS Descriptor + [Tags] disable_port_security comprehensive + + Build NS Descriptor ${nsdPckgPath} + ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' + Append To List ${nsd_ids} ${nsd_id} + + +Network Service Instance Test + [Documentation] Launch and terminate network services + [Tags] disable_port_security comprehensive + + :FOR ${vim_name} IN @{vim} + \ Launch Network Services and Return ${vim_name} + + +Verify Port Security + [Tags] disable_port_security comprehensive + + :FOR ${ns} IN @{ns_ids} + \ Check For Network Port Security ${ns} + + +Delete NS Instance Test + [Tags] disable_port_security comprehensive + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + +Delete NS Descriptor Test + [Tags] disable_port_security comprehensive + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + +Delete VNF Descriptor Test + [Tags] disable_port_security comprehensive + + :FOR ${vnfd_id} IN @{vnfd_ids} + \ Delete VNFD ${vnfd_id} + + +*** Keywords *** +Check For Network Port Security + [Arguments] ${ns_name} + ${rc} ${network_id}= Run and Return RC and Output openstack network list | grep ${ns_name} | awk '{print $2}' + Log ${network_id} + ${rc} ${stdout}= Run and Return RC and Output openstack network show ${network_id} -f json | jq '.port_security_enabled' + Log ${stdout} + Should Be Equal As Strings ${stdout} true + + +Test Cleanup + [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + :FOR ${vnfd} IN @{vnfd_ids} + \ Delete VNFD ${vnfd} + +# :FOR ${vim_id} IN @{vim} +# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/deprecated/testsuite/cli/TS01__Test_VNF.robot b/robot-systest/deprecated/testsuite/cli/TS01__Test_VNF.robot new file mode 100644 index 00000000..84e1f927 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS01__Test_VNF.robot @@ -0,0 +1,107 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-aug-2019 +## + + +*** Settings *** +Documentation Test Suite to test basic cirros VNF and NS using osm-client +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/vnfd_lib.robot +Resource ../../lib/cli/nsd_lib.robot +Resource ../../lib/cli/ns_lib.robot +Resource ../../lib/cli/vim_account_lib.robot +Library ../../lib/custom_lib.py +Variables ../../resource/cli/test_vnf_data.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +@{vnfd_ids} +@{nsd_ids} +@{ns_ids} + + +*** Test Cases *** +Create VNF Descriptor Test + [Tags] sanity smoke + + Build VNF Descriptor ${vnfdPckgPath} + ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' + Append To List ${vnfd_ids} ${vnfd_id} + + +Create NS Descriptor Test + [Tags] sanity smoke + + Build NS Descriptor ${nsdPckgPath} + ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' + Append To List ${nsd_ids} ${nsd_id} + + +Network Service Instance Test + [Documentation] Launch and terminate network services + [Tags] sanity + + :FOR ${vim_name} IN @{vim} + \ Launch Network Services and Return ${vim_name} + + +Delete NS Instance Test + [Tags] sanity + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + +Delete NS Descriptor Test + [Tags] sanity smoke + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + +Delete VNF Descriptor Test + [Tags] sanity smoke + + :FOR ${vnfd} IN @{vnfd_ids} + \ Delete VNFD ${vnfd} + + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + :FOR ${vnfd} IN @{vnfd_ids} + \ Delete VNFD ${vnfd} + +# :FOR ${vim_id} IN @{vim} +# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/deprecated/testsuite/cli/TS02__Test_Vim.robot b/robot-systest/deprecated/testsuite/cli/TS02__Test_Vim.robot new file mode 100644 index 00000000..18f2a501 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS02__Test_Vim.robot @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. +## + + +*** Settings *** +Documentation Test suiet to create/delete vim account via osmclient +Library OperatingSystem +Library Collections +Resource ../../lib/cli/vim_account_lib.robot + + +*** Test Cases *** +Create Vim Account Test + [Tags] smoke vim + + Create Vim Account + + +Get Vim Accounts List Test + [Tags] vim + + Get Vim List + + +Delete Vim Account Test + [Tags] smoke vim + + Delete Vim Account diff --git a/robot-systest/deprecated/testsuite/cli/TS03__Hackfest_Basic_NS.robot b/robot-systest/deprecated/testsuite/cli/TS03__Hackfest_Basic_NS.robot new file mode 100644 index 00000000..40492f71 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS03__Hackfest_Basic_NS.robot @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-aug-2019 +## + + +*** Settings *** +Documentation Test Suite to create hackfest basic nestwork service +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/vnfd_lib.robot +Resource ../../lib/cli/nsd_lib.robot +Resource ../../lib/cli/ns_lib.robot +Resource ../../lib/cli/vim_account_lib.robot +Library ../../lib/custom_lib.py +Variables ../../resource/cli/hackfest_basic_ns_data.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +@{vnfd_ids} +${nsd_id} +@{nsd_ids} +@{ns_ids} + + +*** Test Cases *** +Create Hackfest Basic VNF Descriptor + [Tags] comprehensive hackfest_basic_ns + + Build VNF Descriptor ${vnfdPckgPath} + ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' + Append To List ${vnfd_ids} ${vnfd_id} + + +Create Hackfest Basic NS Descriptor + [Tags] comprehensive hackfest_basic_ns + + Build NS Descriptor ${nsdPckgPath} + ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' + Append To List ${nsd_ids} ${nsd_id} + + +Network Service Instance Test + [Documentation] Launch and terminate network services + [Tags] comprehensive hackfest_basic_ns + + :FOR ${vim_name} IN @{vim} + \ Launch Network Services and Return ${vim_name} + + +Delete NS Instance Test + [Tags] comprehensive hackfest_basic_ns + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + +Delete NS Descriptor Test + [Tags] comprehensive hackfest_basic_ns + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + +Delete VNF Descriptor Test + [Tags] comprehensive hackfest_basic_ns + + :FOR ${vnfd_id} IN @{vnfd_ids} + \ Delete VNFD ${vnfd_id} + + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + :FOR ${vnfd} IN @{vnfd_ids} + \ Delete VNFD ${vnfd} + +# :FOR ${vim_id} IN @{vim} +# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/deprecated/testsuite/cli/TS04__Hackfest_Simplecharm_NS.robot b/robot-systest/deprecated/testsuite/cli/TS04__Hackfest_Simplecharm_NS.robot new file mode 100644 index 00000000..2a224788 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS04__Hackfest_Simplecharm_NS.robot @@ -0,0 +1,113 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-aug-2019 +## + + +*** Settings *** +Documentation Test Suite to create hackfest simplecharm ns +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/vnfd_lib.robot +Resource ../../lib/cli/nsd_lib.robot +Resource ../../lib/cli/ns_lib.robot +Resource ../../lib/cli/vim_account_lib.robot +Library ../../lib/custom_lib.py +Variables ../../resource/cli/hackfest_simplecharm_ns_data.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +@{vnfd_ids} +${nsd_id} +@{nsd_ids} +@{ns_ids} +${vnfdftpPath} https://osm-download.etsi.org/ftp/osm-6.0-six/7th-hackfest/packages/hackfest_simplecharm_vnf.tar.gz +${nsdftpPath} https://osm-download.etsi.org/ftp/osm-6.0-six/7th-hackfest/packages/hackfest_simplecharm_ns.tar.gz + + +*** Test Cases *** +Create Hackfest Simple Charm VNF Descriptor + [Tags] hackfest_simplecharm comprehensive + + #Build VNF Descriptor ${vnfdPckgPath} + #Workarround for charm build issue + ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../..${vnfdPckgPath}${/}build/' ${vnfdftpPath} + ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' + Append To List ${vnfd_ids} ${vnfd_id} + + +Create Hackfest Simple Charm NS Descriptor + [Tags] hackfest_simplecharm comprehensive + + #Build NS Descriptor ${nsdPckgPath} + ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../..${nsdPckgPath}${/}build/' ${nsdftpPath} + ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' + Append To List ${nsd_ids} ${nsd_id} + + +Network Service Instance Test + [Documentation] Launch and terminate network services + [Tags] hackfest_simplecharm comprehensive + + :FOR ${vim_name} IN @{vim} + \ Launch Network Services and Return ${vim_name} + + +Delete NS Instance Test + [Tags] comprehensive hackfest_simplecharm + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + +Delete NS Descriptor Test + [Tags] hackfest_simplecharm comprehensive + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + +Delete VNF Descriptor Test + [Tags] hackfest_simplecharm comprehensive + + :FOR ${vnfd_id} IN @{vnfd_ids} + \ Delete VNFD ${vnfd_id} + + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + :FOR ${vnfd} IN @{vnfd_ids} + \ Delete VNFD ${vnfd} + +# :FOR ${vim_id} IN @{vim} +# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/deprecated/testsuite/cli/TS05__Hackfest_Multivdu_NS.robot b/robot-systest/deprecated/testsuite/cli/TS05__Hackfest_Multivdu_NS.robot new file mode 100644 index 00000000..e3cc4400 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS05__Hackfest_Multivdu_NS.robot @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-aug-2019 +## + + +*** Settings *** +Documentation Test Suite to create hackfest multivdu ns +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/vnfd_lib.robot +Resource ../../lib/cli/nsd_lib.robot +Resource ../../lib/cli/ns_lib.robot +Resource ../../lib/cli/vim_account_lib.robot +Library ../../lib/custom_lib.py +Variables ../../resource/cli/hackfest_multivdu_ns_data.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +@{vnfd_ids} +${nsd_id} +@{nsd_ids} +@{ns_ids} + + +*** Test Cases *** +Create Hackfest Multivdu VNF Descriptor + [Tags] comprehensive hackfest_multivdu + + Build VNF Descriptor ${vnfdPckgPath} + ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' + Append To List ${vnfd_ids} ${vnfd_id} + + +Create Hackfest Multivdu NS Descriptor + [Tags] comprehensive hackfest_multivdu + + Build NS Descriptor ${nsdPckgPath} + ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' + Append To List ${nsd_ids} ${nsd_id} + + +Network Service Instance Test + [Documentation] Launch and terminate network services + [Tags] comprehensive hackfest_multivdu + + :FOR ${vim_name} IN @{vim} + \ Launch Network Services and Return ${vim_name} + + +Delete NS Instance Test + [Tags] comprehensive hackfest_multivdu + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + +Delete NS Descriptor Test + [Tags] comprehensive hackfest_multivdu + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + +Delete VNF Descriptor Test + [Tags] comprehensive hackfest_multivdu + + :FOR ${vnfd_id} IN @{vnfd_ids} + \ Delete VNFD ${vnfd_id} + + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + :FOR ${vnfd} IN @{vnfd_ids} + \ Delete VNFD ${vnfd} + +# :FOR ${vim_id} IN @{vim} +# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/deprecated/testsuite/cli/TS06__Hackfest_Cloudinit_NS.robot b/robot-systest/deprecated/testsuite/cli/TS06__Hackfest_Cloudinit_NS.robot new file mode 100644 index 00000000..87bf22f3 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS06__Hackfest_Cloudinit_NS.robot @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-aug-2019 +## + + +*** Settings *** +Documentation Test Suite to create hackfest cloudinit ns +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/vnfd_lib.robot +Resource ../../lib/cli/nsd_lib.robot +Resource ../../lib/cli/ns_lib.robot +Resource ../../lib/cli/vim_account_lib.robot +Library ../../lib/custom_lib.py +Variables ../../resource/cli/hackfest_cloudinit_ns_data.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +@{vnfd_ids} +${nsd_id} +@{nsd_ids} +@{ns_ids} + + +*** Test Cases *** +Create Hackfest Cloudinit VNF Descriptor + [Tags] comprehensive hackfest_cloudinit + + Build VNF Descriptor ${vnfdPckgPath} + ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' + Append To List ${vnfd_ids} ${vnfd_id} + + +Create Hackfest Cloudinit NS Descriptor + [Tags] comprehensive hackfest_cloudinit + + Build NS Descriptor ${nsdPckgPath} + ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' + Append To List ${nsd_ids} ${nsd_id} + + +Network Service Instance Test + [Documentation] Launch and terminate network services + [Tags] comprehensive hackfest_cloudinit + + :FOR ${vim_name} IN @{vim} + \ Launch Network Services and Return ${vim_name} + + +Delete NS Instance Test + [Tags] comprehensive hackfest_cloudinit + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + +Delete NS Descriptor Test + [Tags] comprehensive hackfest_cloudinit + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + +Delete VNF Descriptor Test + [Tags] comprehensive hackfest_cloudinit + + :FOR ${vnfd_id} IN @{vnfd_ids} + \ Delete VNFD ${vnfd_id} + + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + :FOR ${vnfd} IN @{vnfd_ids} + \ Delete VNFD ${vnfd} + +# :FOR ${vim_id} IN @{vim} +# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/deprecated/testsuite/cli/TS07__Hackfest_EPA_NS.robot b/robot-systest/deprecated/testsuite/cli/TS07__Hackfest_EPA_NS.robot new file mode 100644 index 00000000..53165985 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/TS07__Hackfest_EPA_NS.robot @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-aug-2019 +## + + +*** Settings *** +Documentation Test Suite to create hackfest epa ns +Library OperatingSystem +Library String +Library Collections +Resource ../../lib/cli/vnfd_lib.robot +Resource ../../lib/cli/nsd_lib.robot +Resource ../../lib/cli/ns_lib.robot +Resource ../../lib/cli/vim_account_lib.robot +Library ../../lib/custom_lib.py +Variables ../../resource/cli/hackfest_epa_ns_data.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +@{vnfd_ids} +${nsd_id} +@{nsd_ids} +@{ns_ids} + + +*** Test Cases *** +Create Hackfest EPA VNF Descriptor + [Tags] hackfest_epa + + Build VNF Descriptor ${vnfdPckgPath} + ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' + Append To List ${vnfd_ids} ${vnfd_id} + + +Create Hackfest EPA NS Descriptor + [Tags] hackfest_epa + + Build NS Descriptor ${nsdPckgPath} + ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' + Append To List ${nsd_ids} ${nsd_id} + + +Network Service Instance Test + [Documentation] Launch and terminate network services + [Tags] hackfest_epa + + :FOR ${vim_name} IN @{vim} + \ Launch Network Services and Return ${vim_name} + + +Delete NS Instance Test + [Tags] hackfest_epa + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + +Delete NS Descriptor Test + [Tags] hackfest_epa + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + +Delete VNF Descriptor Test + [Tags] hackfest_epa + + :FOR ${vnfd_id} IN @{vnfd_ids} + \ Delete VNFD ${vnfd_id} + + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim + + :FOR ${ns} IN @{ns_ids} + \ Delete NS ${ns} + + :FOR ${nsd} IN @{nsd_ids} + \ Delete NSD ${nsd} + + :FOR ${vnfd} IN @{vnfd_ids} + \ Delete VNFD ${vnfd} + +# :FOR ${vim_id} IN @{vim} +# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/deprecated/testsuite/cli/__init__.robot b/robot-systest/deprecated/testsuite/cli/__init__.robot new file mode 100644 index 00000000..2d959da1 --- /dev/null +++ b/robot-systest/deprecated/testsuite/cli/__init__.robot @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +*** Settings *** +Library OperatingSystem +Library String +Library Collections +Library ../../lib/custom_lib.py +Resource ../../lib/cli/vim_account_lib.robot + +Suite Setup Wait Until Keyword Succeeds 2x 30sec VIM Setup To Launch Network Services +Suite Teardown Run Keyword And Ignore Error Suite Cleanup + + +*** Variables *** +@{vim} + + +*** Keywords *** +Suite Cleanup + :FOR ${vim_id} IN @{vim} + \ Force Delete Vim Account ${vim_id} \ No newline at end of file diff --git a/robot-systest/deprecated/testsuite/client_library/TS01__OSMClient_Library_Test.robot b/robot-systest/deprecated/testsuite/client_library/TS01__OSMClient_Library_Test.robot new file mode 100644 index 00000000..88d8b5cb --- /dev/null +++ b/robot-systest/deprecated/testsuite/client_library/TS01__OSMClient_Library_Test.robot @@ -0,0 +1,82 @@ +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + + +*** Settings *** +Documentation Test suite to test osmclient python library +Library OperatingSystem + +Suite Setup Setup OSM Client + + +*** Variables *** +${name} helloworld-os +${user} robottest +${password} fred +${authurl} https://169.254.169.245/ +${type} openstack +${desc} a test vim +${tenant} robottest + + +*** Test Cases *** +Get VIM Account List Test + [Tags] comprehensive osmclient_lib + [Documentation] Using python's osmclient library to get vim account list + + ${vim_list}= osmclient.get_vim_list + log to console ${vim_list} + log ${vim_list} + + +Get VNF Descriptor List Test + [Tags] comprehensive osmclient_lib + [Documentation] Using python's osmclient library to get vnfd list + + ${vnfd_list}= osmclient.get_vnfd_list + log to console ${vnfd_list} + log ${vnfd_list} + + +Get NS Descriptor List Test + [Tags] comprehensive osmclient_lib + [Documentation] Using python's osmclient library to get nsd list + + ${nsd_list}= osmclient.get_nsd_list + log to console ${nsd_list} + log ${nsd_list} + + +Create Vim Account Test + [Tags] comprehensive osmclient_lib + [Documentation] Using python's osmclient library to create vim account + [Template] osmclient.create_vim_account + ${name} ${type} ${user} ${password} ${authurl} ${tenant} ${desc} + + +Delete Vim Account Test + [Tags] comprehensive osmclient_lib + [Documentation] Using python's osmclient library to delete vim account + osmclient.delete_vim_account ${name} + + +*** Keywords *** +Setup OSM Client + evaluate sys.path.append('${CURDIR}${/}../../lib/client_lib') modules=sys + ${host}= Get Environment Variable OSM_HOSTNAME 127.0.0.1 + Import Library client_lib.ClientLib host=${host} WITH NAME osmclient diff --git a/robot-systest/deprecated/testsuite/gui/TS01__Test_GUI_Login.robot b/robot-systest/deprecated/testsuite/gui/TS01__Test_GUI_Login.robot new file mode 100644 index 00000000..4f20a180 --- /dev/null +++ b/robot-systest/deprecated/testsuite/gui/TS01__Test_GUI_Login.robot @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com +## + + +*** Settings *** +Documentation Suite description +Library SeleniumLibrary +Library OperatingSystem +Resource ../../lib/gui/login_gui.robot + + +*** Test Cases *** +Valid Login + [Tags] comprehensive gui_login_test + [Setup] Set Server URL + Open Browser To Login Page + Enter Credentials admin admin + Submit Credentials + Home Page Should Be Open + [Teardown] Close Browser diff --git a/robot-systest/environment.rc b/robot-systest/environment.rc new file mode 100644 index 00000000..a459e479 --- /dev/null +++ b/robot-systest/environment.rc @@ -0,0 +1,20 @@ +# 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. + +echo "Please set your environment variables." +# export OSM_HOSTNAME= +# export OS_CLOUD= +# export VIM_TARGET= +# export VIM_MGMT_NET= +# export PACKAGES_FOLDER= +# export ROBOT_DEVOPS_FOLDER= +# export ROBOT_REPORT_FOLDER= diff --git a/robot-systest/lib/api/common.robot b/robot-systest/lib/api/common.robot deleted file mode 100644 index 4724016e..00000000 --- a/robot-systest/lib/api/common.robot +++ /dev/null @@ -1,64 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com -## - - -*** Variables *** -${token}= ${EMPTY} -${HOST}= ${EMPTY} - - -*** Keywords *** -Get Auth Token - [Tags] auth_token - - ${nbi_host}= Get Environment Variable OSM_HOSTNAME - ${passed}= Run Keyword And Return Status Should Contain ${nbi_host} : - Run Keyword If ${passed} Set Dockerized Host ${nbi_host} - ... ELSE Set Standalone Host ${nbi_host} - - Create Session osmhit ${HOST} verify=${FALSE} debug=1 headers=${HEADERS} - - Log Many ${auth_token_uri} @{data} ${data} - - ${resp}= Post Request osmhit ${auth_token_uri} data=${data} - log ${resp} - - Pass Execution If ${resp.status_code} in ${success_status_code_list} Get Auth Token completed - - ${content}= To Json ${resp.content} - ${t}= Get From Dictionary ${content} _id - - Set Suite Variable ${token} ${t} - - -Set Dockerized Host - [Arguments] ${env_host} - - Set Suite Variable ${HOST} https://${env_host} - - -Set Standalone Host - [Arguments] ${env_host} - - Set Suite Variable ${HOST} https://${env_host}:9999 diff --git a/robot-systest/lib/api/vim_lib.robot b/robot-systest/lib/api/vim_lib.robot deleted file mode 100644 index a52354fc..00000000 --- a/robot-systest/lib/api/vim_lib.robot +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-sep-2019 -## - - -*** Keywords *** -Create Vim - [Arguments] ${vim_name} ${account_type} ${auth_url} ${user} ${password} ${tenant} ${description} - - &{request_data}= Create Dictionary vim_user=${user} vim_password=${password} vim_url=${auth_url} vim_tenant_name=${tenant} vim_type=${account_type} description=${description} name=${vim_name} - - &{headers}= Create Dictionary Authorization=Bearer ${token} Content-Type=application/json Accept=application/json - - Create Session osmvim ${HOST} verify=${FALSE} headers=${headers} - - LOG ${request_data} - ${res}= Post Request osmvim ${create_vim_uri} data=${request_data} - log ${res.content} - Pass Execution If ${res.status_code} in ${success_status_code_list} Create Vim Request completed - Get Vim ID ${res.content} - - -Delete Vim - [Arguments] ${vim_id} - - ${uri} = Catenate SEPARATOR=/ ${create_vim_uri} ${vim_id} - ${resp}= Delete Request osmvim ${uri} - - log ${resp.content} - Pass Execution If ${resp.status_code} in ${success_status_code_list} Delete Vim Request completed - - -Get Vim ID - [Arguments] ${res} - -# log to console ${res} - ${content}= To Json ${res} - ${id}= Get From Dictionary ${content} id - Set Suite Variable ${vim_id} ${id} - log Vim Id is ${vim_id} diff --git a/robot-systest/lib/cli/network_slicing_lib.robot b/robot-systest/lib/cli/network_slicing_lib.robot deleted file mode 100644 index 9a3ff370..00000000 --- a/robot-systest/lib/cli/network_slicing_lib.robot +++ /dev/null @@ -1,118 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 08-nov-2019 -## - -*** Variables *** -${success_return_code} 0 -${delete_max_wait_time} 1min -${delete_pol_time} 15sec -${ns_launch_max_wait_time} 5min -${ns_launch_pol_time} 30sec - - -*** Keywords *** -Create NST - [Documentation] Create nst at osm - [Arguments] ${nst_pkg} - - ${rc} ${stdout}= Run and Return RC and Output osm nst-create ${nst_pkg} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - [Return] ${stdout} - - -Delete NST - [Documentation] delete nst at osm - [Arguments] ${nst} - - ${rc} ${stdout}= Run and Return RC and Output osm nst-delete ${nst} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - [Return] ${stdout} - - -Launch Network Slice Instance - [Arguments] ${vim_name} ${nst_name} ${ns_config}='' - - ${nsi_name}= GENERATE NAME - Run Keyword If ${ns_config}!='' Create Network Slice With Config ${nsi_name} ${nst_name} ${vim_name} ${ns_config} - ... ELSE Create Network Slice Without Config ${nsi_name} ${nst_name} ${vim_name} - - WAIT UNTIL KEYWORD SUCCEEDS ${ns_launch_max_wait_time} ${ns_launch_pol_time} Check For Network Slice Instance To Configured ${nsi_name} - Check For Network Slice Instance For Failure ${nsi_name} - - -Create Network Slice With Config - [Arguments] ${nsi_name} ${nst_name} ${vim} ${config} - - ${rc} ${stdout}= Run and Return RC and Output osm nsi-create --nsi_name ${nsi_name} --nst_name ${nst_name} --vim_account ${vim} --config ${config} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Append To List ${nsi_list} ${nsi_name} - - -Create Network Slice Without Config - [Arguments] ${nsi_name} ${nst_name} ${vim} - - ${rc} ${stdout}= Run and Return RC and Output osm nsi-create --nsi_name ${nsi_name} --nst_name ${nst_name} --vim_account ${vim} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Append To List ${nsi_list} ${nsi_name} - - -Check For Network Slice Instance For Failure - [Arguments] ${nsi_name} - - ${rc} ${stdout}= Run and Return RC and Output osm nsi-list --filter name="${nsi_name}" - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Should Not Contain ${stdout} failed - - -Check For Network Slice Instance To Configured - [Arguments] ${nsi_name} - - ${rc} ${stdout}= Run and Return RC and Output osm nsi-list --filter name="${nsi_name}" - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Should Contain Any ${stdout} configured failed - - -Delete Network Slice Instance - [Documentation] Delete ns - [Arguments] ${nsi} - - ${rc} ${stdout}= Run and Return RC and Output osm nsi-delete ${nsi} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - WAIT UNTIL KEYWORD SUCCEEDS ${delete_max_wait_time} ${delete_pol_time} Check For NSI Instance To Be Delete ${nsi} - - -Check For NSI Instance To Be Delete - [Arguments] ${nsi} - - ${rc} ${stdout}= Run and Return RC and Output osm nsi-list - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Should Not Contain ${stdout} ${nsi} diff --git a/robot-systest/lib/cli/ns_lib.robot b/robot-systest/lib/cli/ns_lib.robot deleted file mode 100644 index e0eb0c2b..00000000 --- a/robot-systest/lib/cli/ns_lib.robot +++ /dev/null @@ -1,193 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. -## - - -*** Variables *** -${success_return_code} 0 -${ns_launch_max_wait_time} 5min -${ns_launch_pol_time} 30sec -${ns_delete_max_wait_time} 1min -${ns_delete_pol_time} 15sec -${nsconfig} - -*** Keywords *** -Get NS List - [Documentation] Get ns instance list - - ${rc} ${stdout}= Run and Return RC and Output osm ns-list - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Get NS Instance ID - [Arguments] ${ns_name} - - ${rc} ${stdout}= Run and Return RC and Output osm ns-list --filter name="${ns_name}" | awk 'NR==4{print $4}' - log ${stdout} - [Return] ${stdout} - - -Verify All JUJU Applications Status - [Arguments] ${ns} ${api_ip} ${api_port} ${username} ${password} ${api_cert_path} - - ${juju_model}= Get NS Instance ID ${ns} - - Import Library robot_juju.JujuLibrary ${api_ip} ${api_port} ${juju_model} ${username} ${password} ${api_cert_path} - Assert status of applications is ${status_active} - - -Launch Network Services and Return - [Arguments] ${vim_name} ${ns_config}='' - [Documentation] Get Configuration parameter to create Newtork service - - Run Keyword If ${ns_config}=='' Get NS Config - ... ELSE Set NS Config ${ns_config} - Log To Console \n${nsconfig} - Should Not Be Empty ${nsd_ids} There are no NS descriptors to launch the NS - :FOR ${nsd} IN @{nsd_ids} - \ ${ns_name}= GENERATE NAME - \ Append To List ${ns_ids} ${ns_name} - \ Create Network Service ${nsd} ${vim_name} ${ns_name} ${nsconfig} - - -Set NS Config - [Arguments] ${ns_config} - [Documentation] Set NS Configuration variable - - ${nsconfig}= Get Variable Value ${ns_config} '' - Set Test Variable ${nsconfig} - - -Get NS Config - [Documentation] Get NS Configuration from Environment Variable - - ${nsconfig}= Get Environment Variable NS_CONFIG '' - Set Test Variable ${nsconfig} - - -Create Network Service - [Documentation] Create ns at osm - [Arguments] ${nsd} ${vim_name} ${ns_name} ${ns_config} - - Run Keyword If ${ns_config}!='' Create Network Service With Config ${nsd} ${vim_name} ${ns_name} ${ns_config} - ... ELSE Create Network Service Without Config ${nsd} ${vim_name} ${ns_name} - - WAIT UNTIL KEYWORD SUCCEEDS ${ns_launch_max_wait_time} ${ns_launch_pol_time} Check For NS Instance To Configured ${ns_name} - Check For NS Instance For Failure ${ns_name} - - -Create Network Service Without Config - [Documentation] Create ns at osm - [Arguments] ${nsd} ${vim_name} ${ns_name} - - ${rc} ${stdout}= Run and Return RC and Output osm ns-create --ns_name ${ns_name} --nsd_name ${nsd} --vim_account ${vim_name} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Create Network Service With Config - [Documentation] Create ns at osm - [Arguments] ${nsd} ${vim_name} ${ns_name} ${ns_config} - - ${rc} ${stdout}= Run and Return RC and Output osm ns-create --ns_name ${ns_name} --nsd_name ${nsd} --vim_account ${vim_name} --config ${ns_config} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Delete NS - [Documentation] Delete ns - [Arguments] ${ns} - - ${rc} ${stdout}= Run and Return RC and Output osm ns-delete ${ns} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - WAIT UNTIL KEYWORD SUCCEEDS ${ns_delete_max_wait_time} ${ns_delete_pol_time} Check For NS Instance To Be Delete ${ns} - - -Check For NS Instance To Configured - [Arguments] ${ns_name} - - ${rc} ${stdout}= Run and Return RC and Output osm ns-list --filter name="${ns_name}" - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Should Contain Any ${stdout} READY BROKEN - - -Check For NS Instance For Failure - [Arguments] ${ns_name} - - ${rc} ${stdout}= Run and Return RC and Output osm ns-list --filter name="${ns_name}" - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Should Not Contain ${stdout} BROKEN - - -Check For NS Instance To Be Delete - [Arguments] ${ns} - - ${rc} ${stdout}= Run and Return RC and Output osm ns-list - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Should Not Contain ${stdout} ${ns} - - -Force Delete NS - [Documentation] Forcely Delete ns - [Arguments] ${ns} - - ${rc} ${stdout}= Run and Return RC and Output osm ns-delete ${ns} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - WAIT UNTIL KEYWORD SUCCEEDS ${ns_delete_max_wait_time} ${ns_delete_pol_time} Check For NS Instance To Be Delete ${ns} - - -Perform VNF Scale-in Operation - [Arguments] ${ns} ${vnf_member} ${scaling_group} - - ${rc} ${nsr}= Run and Return RC and Output osm ns-show ${ns} --literal - ${scaled_vnf}= Get Scaled Vnf ${nsr} - log to console Scaled VNF befor scale-in operation is ${scaled_vnf} - ${rc} ${stdout}= Run and Return RC and Output osm vnf-scale --scale-in --scaling-group ${scaling_group} ${ns} ${vnf_member} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - Sleep 1m Waiting for scale-in operation to complete - ${rc} ${nsr}= Run and Return RC and Output osm ns-show ${ns} --literal - ${scaled_vnf}= Get Scaled Vnf ${nsr} - log to console Scaled VNF after scale-in operation is ${scaled_vnf} - - -Perform VNF Scale-out Operation - [Arguments] ${ns} ${vnf_member} ${scaling_group} - - ${rc} ${nsr}= Run and Return RC and Output osm ns-show ${ns} --literal - ${scaled_vnf}= Get Scaled Vnf ${nsr} - log to console Scaled VNF befor scale-out operation is ${scaled_vnf} - ${rc} ${stdout}= Run and Return RC and Output osm vnf-scale --scale-out --scaling-group ${scaling_group} ${ns} ${vnf_member} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - Sleep 1m Waiting for scale-out operation to complete - ${rc} ${nsr}= Run and Return RC and Output osm ns-show ${ns} --literal - ${scaled_vnf}= Get Scaled Vnf ${nsr} - log to console Scaled VNF befor scale-out operation is ${scaled_vnf} diff --git a/robot-systest/lib/cli/nsd_lib.robot b/robot-systest/lib/cli/nsd_lib.robot deleted file mode 100644 index da27b4fe..00000000 --- a/robot-systest/lib/cli/nsd_lib.robot +++ /dev/null @@ -1,85 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-sep-2019 -## - -*** Variables *** -${success_return_code} 0 -${delete_max_wait_time} 1min -${delete_pol_time} 15sec - - -*** Keywords *** -Get NSDs List - [Documentation] Get nsds list - - ${rc} ${stdout}= Run and Return RC and Output osm nsd-list - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Create NSD - [Documentation] Create nsd at osm - [Arguments] ${nsd_pkg} - - ${rc} ${stdout}= Run and Return RC and Output osm nsd-create ${nsd_pkg} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - [Return] ${stdout} - - -Delete NSD - [Documentation] Delete nsd - [Arguments] ${nsd_id} - - # For timebeing exception thrown by nsd-delete api was ignor because nsd was deleted successfully. The cause of exception is need to debug further - ${rc} ${stdout}= Run Keyword And Continue On Failure Run and Return RC and Output osm nsd-delete ${nsd_id} - log ${stdout} -# Should Be Equal As Integers ${rc} ${success_return_code} - WAIT UNTIL KEYWORD SUCCEEDS ${delete_max_wait_time} ${delete_pol_time} Check For NSD ${nsd_id} - - -Check For NSD - [Arguments] ${nsd_id} - - ${rc} ${stdout}= Run and Return RC and Output osm nsd-list - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Should Not Contain ${stdout} ${nsd_id} - - -Force Delete NSD - [Documentation] Forcely Delete nsd - [Arguments] ${nsd_id} - - ${rc} ${stdout}= Run and Return RC and Output osm nsd-delete ${nsd_id} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Build NS Descriptor - [Documentation] Build NS Descriptor from the descriptor-packages - [Arguments] ${nsd path} - - ${rc} ${stdout}= Run and Return RC and Output make -C '${CURDIR}${/}../../..${nsd path}' - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} diff --git a/robot-systest/lib/cli/osm_package_tools_lib.robot b/robot-systest/lib/cli/osm_package_tools_lib.robot deleted file mode 100644 index c8a864c4..00000000 --- a/robot-systest/lib/cli/osm_package_tools_lib.robot +++ /dev/null @@ -1,88 +0,0 @@ -# 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. -## - -## Change log: -# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 18-Dec-2019 -## - -*** Keywords *** -Create OSM NS Package - [Arguments] ${pkg_name} - ${ns_pkg}= Catenate SEPARATOR=_ ${pkg_name} ns - ${ns_yaml}= Catenate SEPARATOR=_ ${pkg_name} nsd - ${ns_yaml}= Catenate SEPARATOR=. ${ns_yaml} yaml - ${nsd_path}= Join Path ${ns_pkg} ${ns_yaml} - ${rc} ${stdout}= Run and Return RC and Output osm package-create ns ${pkg_name} - Should Be Equal As Integers ${rc} ${success_return_code} - File Should Exist ${nsd_path} - log ${stdout} - - -Create OSM VNF Package - [Arguments] ${pkg_name} - ${vnf_pkg}= Catenate SEPARATOR=_ ${pkg_name} vnf - ${vnf_yaml}= Catenate SEPARATOR=_ ${pkg_name} vnfd - ${vnf_yaml}= Catenate SEPARATOR=. ${vnf_yaml} yaml - ${vnfd_path}= Join Path ${vnf_pkg} ${vnf_yaml} - ${rc} ${stdout}= Run and Return RC and Output osm package-create vnf ${pkg_name} - Should Be Equal As Integers ${rc} ${success_return_code} - File Should Exist ${vnfd_path} - log ${stdout} - - -Validate OSM NS Package - [Arguments] ${pkg_name} - ${ns_pkg}= Catenate SEPARATOR=_ ${pkg_name} ns - ${rc} ${stdout}= Run and Return RC and Output osm package-validate ${ns_pkg} - Should Be Equal As Integers ${rc} ${success_return_code} - Verify Package Validation Result ${ns_pkg} - log ${stdout} - - -Validate OSM VNF Package - [Arguments] ${pkg_name} - ${vnf_pkg}= Catenate SEPARATOR=_ ${pkg_name} vnf - ${rc} ${stdout}= Run and Return RC and Output osm package-validate ${vnf_pkg} - Should Be Equal As Integers ${rc} ${success_return_code} - Verify Package Validation Result ${vnf_pkg} - log ${stdout} - - -Verify Package Validation Result - [Arguments] ${pkg} - ${rc} ${stdout}= Run and Return RC and Output osm package-validate ${pkg} | awk 'NR==6{print $6}' - Should Be Equal As Integers ${rc} ${success_return_code} - Should Not Contain ${stdout} ERROR - log ${stdout} - - -Build OSM VNF Package - [Arguments] ${pkg_name} - ${vnf_pkg}= Catenate SEPARATOR=_ ${pkg_name} vnf - ${vnf_pkg_tar}= Catenate SEPARATOR=. ${vnf_pkg} tar gz - ${rc} ${stdout}= Run and Return RC and Output osm package-build ${vnf_pkg} - Should Be Equal As Integers ${rc} ${success_return_code} - File Should Exist ${vnf_pkg_tar} - log ${stdout} - - -Build OSM NS Package - [Arguments] ${pkg_name} - ${ns_pkg}= Catenate SEPARATOR=_ ${pkg_name} ns - ${ns_pkg_tar}= Catenate SEPARATOR=. ${ns_pkg} tar gz - ${rc} ${stdout}= Run and Return RC and Output osm package-build ${ns_pkg} - Should Be Equal As Integers ${rc} ${success_return_code} - File Should Exist ${ns_pkg_tar} - log ${stdout} diff --git a/robot-systest/lib/cli/osm_platform_resiliancy_recovery_lib.robot b/robot-systest/lib/cli/osm_platform_resiliancy_recovery_lib.robot deleted file mode 100644 index fb867683..00000000 --- a/robot-systest/lib/cli/osm_platform_resiliancy_recovery_lib.robot +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 08-nov-2019 -## - - -*** Variables *** -${success_return_code} 0 -${er_replicas} 0/1 - - -*** Keywords *** -Check If OSM Working - - ${rc} ${stdout}= Run and Return RC and Output osm vnfpkg-list - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - ${rc} ${stdout}= Run and Return RC and Output osm vim-list - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Check All Service Are Running - - ${rc} ${stdout}= Run and Return RC and Output docker service ls - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Should Not Contain ${stdout} ${er_replicas} - - -Kill Docker Container - [Arguments] ${name} - - ${rc} ${stdout}= Run and Return RC and Output docker rm -f \$(docker ps |grep -i ${name}|awk '{print $1}') - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} \ No newline at end of file diff --git a/robot-systest/lib/cli/rbac_lib.robot b/robot-systest/lib/cli/rbac_lib.robot deleted file mode 100644 index bbf717a2..00000000 --- a/robot-systest/lib/cli/rbac_lib.robot +++ /dev/null @@ -1,245 +0,0 @@ -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 21-nov-2019 -## - -*** Keywords *** -Configure NBI For RBAC - ${rc} ${stdout}= Run and Return RC and Output docker service update osm_nbi --force --env-add OSMNBI_AUTHENTICATION_BACKEND=keystone --env-add OSMNBI_AUTHENTICATION_AUTH_URL=keystone --env-add OSMNBI_AUTHENTICATION_AUTH_PORT=5000 --env-add OSMNBI_AUTHENTICATION_USER_DOMAIN_NAME=default --env-add OSMNBI_AUTHENTICATION_PROJECT_DOMAIN_NAME=default --env-add OSMNBI_AUTHENTICATION_SERVICE_USERNAME=nbi --env-add OSMNBI_AUTHENTICATION_SERVICE_PROJECT=service - Should Be Equal As Integers ${rc} ${success_return_code} - Sleep 30s Wait for NBI service to be update - - -Create User - [Arguments] ${user} ${password} - - ${rc} ${stdout}= Run and Return RC and Output osm user-create ${user} --password ${password} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - [Return] ${stdout} - - -List User - ${rc} ${stdout}= Run and Return RC and Output osm user-list - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - [Return] ${stdout} - - -List User And Check For The Created User - [Arguments] ${user} - ${user list}= List User - Should Contain ${user list} ${user} - - -Get User Info By Name - [Arguments] ${user_name} - ${rc} ${stdout}= Run and Return RC and Output osm user-show ${user_name} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - - -Get User Info By ID - [Arguments] ${user_id} - ${rc} ${stdout}= Run and Return RC and Output osm user-show ${user_id} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - - -Update User - [Arguments] ${user} ${field} ${value} - ${rc} ${stdout}= Run and Return RC and Output osm user-update ${field} ${value} ${user} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - - -Update User And Verify Info - [Arguments] ${user} @{args} - FOR ${arg} IN @{args} - ${fields}= Get Dictionary Items ${arg} - Update User ${user} ${fields[0]} ${fields[1]} - END - ${rc} ${stdout}= Run and Return RC and Output osm user-show ${user} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - - -Login With User And Perform Operation - [Arguments] ${user} ${password} ${project} - ${rc} ${stdout}= Run and Return RC and Output export OSM_USER=${user} - Should Be Equal As Integers ${rc} ${success_return_code} - ${rc} ${stdout}= Run and Return RC and Output export OSM_PROJECT=${project} - Should Be Equal As Integers ${rc} ${success_return_code} - ${rc} ${stdout}= Run and Return RC and Output export OSM_PASSWORD=${password} - Should Be Equal As Integers ${rc} ${success_return_code} - ${rc} ${stdout}= Run and Return RC and Output osm ns-list - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - Logout and Login With Admin - - -Logout and Login With Admin - ${rc} ${stdout}= Run and Return RC and Output export OSM_USER=admin - Should Be Equal As Integers ${rc} ${success_return_code} - ${rc} ${stdout}= Run and Return RC and Output export OSM_PASSWORD=admin - Should Be Equal As Integers ${rc} ${success_return_code} - ${rc} ${stdout}= Run and Return RC and Output osm ns-list - Should Be Equal As Integers ${rc} ${success_return_code} - - -Delete User - [Arguments] ${user} - ${rc} ${stdout}= Run and Return RC and Output osm user-delete ${user} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Delete User And Check - [Arguments] ${user} - Delete User ${user} - ${rc} ${stdout}= Run and Return RC and Output osm user-list - Should Be Equal As Integers ${rc} ${success_return_code} - Should Not Contain ${stdout} ${user} - - -Create Project - [Arguments] ${project} - ${rc} ${stdout}= Run and Return RC and Output osm project-create ${project} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - [Return] ${stdout} - - -List Project - ${rc} ${stdout}= Run and Return RC and Output osm project-list - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - [Return] ${stdout} - - -List Project And Verify - [Arguments] ${project} - ${project list}= List Project - Should Contain ${project list} ${project} - - -Get Project Info By Name - [Arguments] ${project_name} - ${rc} ${stdout}= Run and Return RC and Output osm project-show ${project_name} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - [Return] ${stdout} - - -Get Project Info By ID - [Arguments] ${project_id} - ${rc} ${stdout}= Run and Return RC and Output osm project-show ${project_id} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - [Return] ${stdout} - - -Update Project - [Arguments] ${project} ${feild} ${value} - ${rc} ${stdout}= Run and Return RC and Output osm project-update ${feild} ${value} ${project} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - - -Update Project Name And Verify - [Arguments] ${old_name} ${new_name} - Update Project ${old_name} --name ${new_name} - List Project And Verify ${new_name} - - -Delete Project - [Arguments] ${project} - ${rc} ${stdout}= Run and Return RC and Output osm project-delete ${project} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Delete Project And Verify - [Arguments] ${project} - Delete Project ${project} - ${project_list}= List Project - Should Not Contain ${project_list} ${project} - - -Create Role - [Arguments] ${role} - ${rc} ${stdout}= Run and Return RC and Output osm role-create ${role} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - [Return] ${stdout} - - -List Roles - ${rc} ${stdout}= Run and Return RC and Output osm role-list - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - [Return] ${stdout} - - -List Roles And Verify - [Arguments] ${role} - ${role_list}= List Roles - Should Contain ${role_list} ${role} - - -Get Role Info By Name - [Arguments] ${role} - ${rc} ${stdout}= Run and Return RC and Output osm role-show ${role} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - [Return] ${stdout} - - -Get Role Info By ID - [Arguments] ${role_id} - ${rc} ${stdout}= Run and Return RC and Output osm role-show ${role_id} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - [Return] ${stdout} - - -Update Role - [Arguments] ${role} ${feild} ${value} - ${rc} ${stdout}= Run and Return RC and Output osm role-update ${feild} ${value} ${role} - Should Be Equal As Integers ${rc} ${success_return_code} - log ${stdout} - - -Add Role And Verify - [Arguments] ${role} ${role_to_add} - Update Role ${role} --add ${role_to_add} - ${role_info}= Get Role Info By Name ${role} -# Should Contain ${role_info} ${role_to_add} - - -Delete Role - [Arguments] ${role} - ${rc} ${stdout}= Run and Return RC and Output osm role-delete ${role} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Delete Role And Verify - [Arguments] ${role} - Delete Role ${role} - ${role_list}= List Roles - Should Not Contain ${role_list} ${role} diff --git a/robot-systest/lib/cli/sdnc_account_lib.robot b/robot-systest/lib/cli/sdnc_account_lib.robot deleted file mode 100644 index 71680b89..00000000 --- a/robot-systest/lib/cli/sdnc_account_lib.robot +++ /dev/null @@ -1,65 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - - -*** Variables *** -${success_return_code} 0 -${name} "OpenSite" -${user} "admin" -${password} "admin" -${ip} "1.1.1.1" -${type} "onos" -${port} "5858" -${dpid} "a7:2f:aa:be:C3:c1:fe:C9" - - -*** Keywords *** -Create SDNC Account - [Documentation] create new sdnc account - - ${rc} ${stdout}= Run and Return RC and Output osm sdnc-create --name ${name} --type ${type} --ip_address ${ip} --user ${user} --password ${password} --port ${port} --switch_dpid ${dpid} - log ${rc} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Get SDNC List - [Documentation] Get a sdnc account list - - ${rc} ${stdout}= Run and Return RC and Output osm sdnc-list - log ${stdout} - - -Show SDNC Account - [Documentation] Get sdnc account details - - ${rc} ${stdout}= Run and Return RC and Output osm sdnc-show ${name} - log ${rc} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Delete SDNC Account - [Documentation] Get sdnc account details - - ${rc} ${stdout}= Run and Return RC and Output osm sdnc-delete ${name} - log ${rc} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} \ No newline at end of file diff --git a/robot-systest/lib/cli/vim_account_lib.robot b/robot-systest/lib/cli/vim_account_lib.robot deleted file mode 100644 index c3c8242f..00000000 --- a/robot-systest/lib/cli/vim_account_lib.robot +++ /dev/null @@ -1,136 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-sep-2019 -## - -*** Settings *** -Library OperatingSystem -Library String -Library Collections -Library ../custom_lib.py - - -*** Variables *** -${success_return_code} 0 -${user} "robottest" -${password} "fred" -${authurl} "https://127.0.0.1/" -${type} "openstack" -${desc} "a test vim" -${tenant} "robottest2" - - -*** Keywords *** -Create Vim Account - [Documentation] Create a new vim account - - ${vim-name}= Generate Random String 8 [NUMBERS] - ${vim-name}= Catenate SEPARATOR= vim_ ${vim-name} - set global variable ${vim-name} - - ${rc} ${stdout}= Run and Return RC and Output osm vim-create --name ${vim-name} --user ${user} --password ${password} --auth_url ${authurl} --tenant ${tenant} --account_type ${type} --description ${desc} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Get Vim List - [Documentation] Get a vim account list - - ${rc} ${stdout}= Run and Return RC and Output osm vim-list - log ${stdout} - Log To Console ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Delete Vim Account - [Documentation] delete vim account details - [Arguments] ${vim_name}=${vim-name} - - ${rc} ${stdout}= Run and Return RC and Output osm vim-delete ${vim_name} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - -VIM Setup To Launch Network Services - [Documentation] Setup a VIM to launch network services - - set global variable @{vim} - ${vmware_url}= Get Environment Variable VCD_AUTH_URL ${EMPTY} - ${openstack_url}= Get Environment Variable OS_AUTH_URL ${EMPTY} - ${vmware_vim}= Run Keyword And Return If '${vmware_url}'!='${EMPTY}' Setup Vmware Vim ${vmware_url} 'vmware' 'pytest system test' - ${openstack_vim}= Run Keyword And Return If '${openstack_url}'!='${EMPTY}' Setup Openstack Vim ${openstack_url} 'openstack' 'pytest system test' - Should Not Be Empty ${vim} VIM details not provided - Log Many @{vim} - - -Setup Openstack Vim - [Documentation] Openstack Vim Account Setup - [Tags] vim-setup - [Arguments] ${authurl} ${type} ${desc} - - ${user}= Get Environment Variable OS_USERNAME '' - ${password}= Get Environment Variable OS_PASSWORD '' - ${tenant}= Get Environment Variable OS_PROJECT_NAME '' - ${vim-config}= Get Environment Variable OS_VIM_CONFIG '' - ${vim_name}= GENERATE NAME - - ${rc} ${stdout}= Run and Return RC and Output osm vim-create --name ${vim_name} --user ${user} --password ${password} --auth_url ${authurl} --tenant ${tenant} --account_type ${type} --description ${desc} --config ${vim-config} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Sleep 30s Wait for to get vim ready - ${rc} ${vim_detail}= Run and Return RC and Output osm vim-show ${vim_name} - Should Contain ${vim_detail} "operationalState": "ENABLED" msg=Openstack vim is not available values=False - Append To List ${vim} ${stdout} - - [Return] ${stdout} - - -Setup Vmware Vim - [Documentation] Vmware Vim Account Setup - [Tags] vim-setup - [Arguments] ${authurl} ${type} ${desc} - - ${user}= Get Environment Variable VCD_USERNAME '' - ${password}= Get Environment Variable VCD_PASSWORD '' - ${tenant}= Get Environment Variable VCD_TENANT_NAME '' - ${vcd-org}= Get Environment Variable VCD_ORGANIZATION '' - ${vim-config}= Get Environment Variable VCD_VIM_CONFIG '' - ${vim_name}= GENERATE NAME - - ${rc} ${stdout}= Run and Return RC and Output osm vim-create --name ${vim_name} --user ${user} --password ${password} --auth_url ${authurl} --tenant ${tenant} --account_type ${type} --description ${desc} --config ${vim-config} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Sleep 30s Wait for to get vim ready - ${rc} ${vim_detail}= Run and Return RC and Output osm vim-show ${vim_name} - Should Contain ${vim_detail} "operationalState": "ENABLED" msg=VMWare VCD vim is not available values=False - Append To List ${vim} ${stdout} - - [Return] ${stdout} - - -Force Delete Vim Account - [Documentation] delete vim account details - [Arguments] ${vim_name} - - ${rc} ${stdout}= Run and Return RC and Output osm vim-delete ${vim_name} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} diff --git a/robot-systest/lib/cli/vnfd_lib.robot b/robot-systest/lib/cli/vnfd_lib.robot deleted file mode 100644 index 1b99f438..00000000 --- a/robot-systest/lib/cli/vnfd_lib.robot +++ /dev/null @@ -1,85 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-sep-2019 -## - -*** Variables *** -${success_return_code} 0 -${delete_max_wait_time} 1min -${delete_pol_time} 15sec - - -*** Keywords *** -Get VNFDs List - [Documentation] Get vnfds list - - ${rc} ${stdout}= Run and Return RC and Output osm vnfd-list - log ${stdout} - log ${rc} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Create VNFD - [Documentation] Create vnfd at osm - [Arguments] ${vnfd_pkg} - - ${rc} ${stdout}= Run and Return RC and Output osm vnfd-create ${vnfd_pkg} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - [Return] ${stdout} - - -Delete VNFD - [Documentation] Delete vnfd - [Arguments] ${vnfd_id} - - ${rc} ${stdout}= Run and Return RC and Output osm vnfd-delete ${vnfd_id} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - WAIT UNTIL KEYWORD SUCCEEDS ${delete_max_wait_time} ${delete_pol_time} Check For VNFD ${vnfd_id} - - -Check For VNFD - [Arguments] ${vnfd_id} - - ${rc} ${stdout}= Run and Return RC and Output osm vnfd-list - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - Should Not Contain ${stdout} ${vnfd_id} - - -Force Delete VNFD - [Documentation] Forcely Delete vnfd - [Arguments] ${vnfd_id} - - ${rc} ${stdout}= Run and Return RC and Output osm vnfd-delete ${vnfd_id} - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Build VNF Descriptor - [Documentation] Build VNF Descriptor from the descriptor-packages - [Arguments] ${vnfd path} - - ${rc} ${stdout}= Run and Return RC and Output make -C '${CURDIR}${/}../../..${vnfd path}' - log ${stdout} - Should Be Equal As Integers ${rc} ${success_return_code} diff --git a/robot-systest/lib/client_lib/client_lib.py b/robot-systest/lib/client_lib/client_lib.py deleted file mode 100644 index c9390ae9..00000000 --- a/robot-systest/lib/client_lib/client_lib.py +++ /dev/null @@ -1,69 +0,0 @@ -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - - -from osmclient import client -from robot.api import logger -import json - - -class ClientLib: - def __init__(self, host="127.0.0.1", user=None, password=None, project=None): - - kwargs = {} - if user is not None: - kwargs['user'] = user - if password is not None: - kwargs['password'] = password - if project is not None: - kwargs['project'] = project - self.client = client.Client(host=host, sol005=True, **kwargs) - - def get_vim_list(self): - resp = self.client.vim.list() - logger.info('VIM List: {}'.format(resp)) - return json.dumps(resp) - - def create_vim_account(self, name, vim_type, user, password, auth_url, tenant, desc='', config=None): - vim_access = {} - if config is not None: - vim_access['config'] = config - vim_access['vim-type'] = vim_type - vim_access['vim-username'] = user - vim_access['vim-password'] = password - vim_access['vim-url'] = auth_url - vim_access['vim-tenant-name'] = tenant - vim_access['description'] = desc - - resp = self.client.vim.create(name, vim_access) - logger.info('Create VIM Account: {}'.format(resp)) - return json.dumps(resp) - - def delete_vim_account(self, name): - resp = self.client.vim.delete(name) - return json.dumps(resp) - - def get_vnfd_list(self): - resp = self.client.vnfd.list() - logger.info('VNF Descriptor List: {}'.format(resp)) - return json.dumps(resp) - - def get_nsd_list(self): - resp = self.client.nsd.list() - logger.info('NS Descriptor List: {}'.format(resp)) - return json.dumps(resp) diff --git a/robot-systest/lib/connectivity_lib.robot b/robot-systest/lib/connectivity_lib.robot new file mode 100644 index 00000000..7b865935 --- /dev/null +++ b/robot-systest/lib/connectivity_lib.robot @@ -0,0 +1,19 @@ +# 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. + +*** Keywords *** +Test Connectivity + [Arguments] ${host} + + ${result} Run Process ping -c 5 -W 1 ${host} > /dev/null && echo OK shell=True + Log all output: ${result.stdout} + Should Contain ${result.stdout} OK diff --git a/robot-systest/lib/custom_lib.py b/robot-systest/lib/custom_lib.py deleted file mode 100644 index 2a3d23fa..00000000 --- a/robot-systest/lib/custom_lib.py +++ /dev/null @@ -1,67 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com -##Ì¥ - - -import random -from haikunator import Haikunator -import yaml -from os.path import basename -import hashlib - -from robot.api import logger -from robot.api.deco import keyword - - -def generate_name(): - haikunator = Haikunator() - name = haikunator.haikunate(delimiter='_', token_length=2) - return name - - -def get_random_item_from_list(l): - assert isinstance(l, list), "List should be provided" - return random.choice(l) - - -def get_scaled_vnf(nsr): - nsr = yaml.load(nsr) - if 'scaling-group' in nsr['_admin']: - return nsr['_admin']['scaling-group'][0]['nb-scale-op'] - else: - return 0 - - -@keyword('Get File Name From Path') -def get_filename(path): - filename = basename(path) - return filename, filename.split('.')[0] - - -@keyword('Generate MD5') -def generate_md5(fpath): - hash_md5 = hashlib.md5() - with open(fpath, "rb") as f: - for chunk in iter(lambda: f.read(1024), b""): - hash_md5.update(chunk) - return hash_md5.hexdigest() diff --git a/robot-systest/lib/gui/login_gui.robot b/robot-systest/lib/gui/login_gui.robot deleted file mode 100644 index c125664f..00000000 --- a/robot-systest/lib/gui/login_gui.robot +++ /dev/null @@ -1,87 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. -## - - -*** Variables *** -${DESIRED_CAPABILITIES} desired_capabilities -${BROWSER} Chrome -${DELAY} 0 -${VALID USER} admin -${VALID PASSWORD} admin -${LOGIN URL} /auth/ -${WELCOME URL} /projects/ -${NS LIST URL} /packages/ns/list -${VNF LIST URL} /packages/vnf/list - - -*** Keywords *** -Set Server URL - ${env_host}= Get Environment Variable OSM_HOSTNAME - ${passed}= Run Keyword And Return Status Should Contain ${env_host} : - Run Keyword If ${passed} Set Dockerized Host - ... ELSE Set Standalone Host ${env_host} - - -Open Browser To Login Page - ${chrome_options} = Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver - Call Method ${chrome_options} add_argument headless - Call Method ${chrome_options} add_argument disable-gpu - Call Method ${chrome_options} add_argument no-sandbox - ${options}= Call Method ${chrome_options} to_capabilities - Open Browser ${SERVER}${LOGIN URL} ${BROWSER} desired_capabilities=${options} - Maximize Browser Window - Set Selenium Speed ${DELAY} - Login Page Should Be Open - - -Login Page Should Be Open - Element Text Should Be //*[@id="main_content"]/div/div[2]/p Sign in to start your session - - -Enter Credentials - [Arguments] ${username} ${password} - Input Text name:username ${username} - Input Password name:password ${password} - - -Submit Credentials - Click Button //*[@id="main_content"]/div/div[2]/form/div[3]/div[2]/button - - -Home Page Should Be Open - Location Should Be ${SERVER}${WELCOME URL} -# Element Should Contain id:title_header 6e3a8415-9014-4100-9727-90e0150263be ignore_case=True - Element Attribute Value Should Be //*[@id="main_content"]/div/div[2]/div[1]/div[1]/div/a href ${SERVER}${NS LIST URL} - Element Attribute Value Should Be //*[@id="main_content"]/div/div[2]/div[1]/div[2]/div/a href ${SERVER}${VNF LIST URL} - - -Set Dockerized Host - - Set Suite Variable ${SERVER} http://light-ui - - -Set Standalone Host - [Arguments] ${env_host} - - Set Suite Variable ${SERVER} http://${env_host} diff --git a/robot-systest/lib/ns_lib.robot b/robot-systest/lib/ns_lib.robot new file mode 100644 index 00000000..cc252fba --- /dev/null +++ b/robot-systest/lib/ns_lib.robot @@ -0,0 +1,82 @@ +# 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. + +*** Variables *** +${success_return_code} 0 +${ns_launch_max_wait_time} 5min +${ns_launch_pol_time} 30sec +${ns_delete_max_wait_time} 1min +${ns_delete_pol_time} 15sec + +*** Keywords *** +Create Network Service + [Arguments] ${nsd} ${vim_name} ${ns_name} ${ns_config} ${publickey} + + ${config_attr} Set Variable If '${ns_config}'!='${EMPTY}' --config '${ns_config}' \ + ${sshkeys_attr} Set Variable If '${publickey}'!='${EMPTY}' --ssh_keys ${publickey} \ + + ${ns_id}= Instantiate Network Service ${ns_name} ${nsd} ${vim_name} ${config_attr} ${sshkeys_attr} + log ${ns_id} + + WAIT UNTIL KEYWORD SUCCEEDS ${ns_launch_max_wait_time} ${ns_launch_pol_time} Check For NS Instance To Configured ${ns_name} + Check For NS Instance For Failure ${ns_name} + [Return] ${ns_id} + +Instantiate Network Service + [Arguments] ${ns_name} ${nsd} ${vim_name} ${ns_extra_args} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-create --ns_name ${ns_name} --nsd_name ${nsd} --vim_account ${vim_name} ${ns_extra_args} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + [Return] ${stdout} + +Get Vnf Management Ip Address + [Arguments] ${ns_id} ${vnf_member_index} + + Should Not Be Empty ${ns_id} + Should Not Be Empty ${vnf_member_index} + ${rc} ${stdout}= Run and Return RC and Output osm vnf-list --filter member-vnf-index-ref=${vnf_member_index} | grep ${ns_id} | awk '{print $14}' 2>&1 + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + [Return] ${stdout} + +Check For NS Instance To Configured + [Arguments] ${ns_name} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-list --filter name="${ns_name}" + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Should Contain Any ${stdout} READY BROKEN + +Check For NS Instance For Failure + [Arguments] ${ns_name} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-list --filter name="${ns_name}" + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + Should Not Contain ${stdout} BROKEN + +Check For NS Instance To Be Deleted + [Arguments] ${ns} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-list | awk '{print $2}' | grep ${ns} + Should Not Be Equal As Strings ${stdout} ${ns} + +Delete NS + [Documentation] Delete ns + [Arguments] ${ns} + + ${rc} ${stdout}= Run and Return RC and Output osm ns-delete ${ns} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + WAIT UNTIL KEYWORD SUCCEEDS ${ns_delete_max_wait_time} ${ns_delete_pol_time} Check For NS Instance To Be Deleted ${ns} diff --git a/robot-systest/lib/nsd_lib.robot b/robot-systest/lib/nsd_lib.robot new file mode 100644 index 00000000..8af13791 --- /dev/null +++ b/robot-systest/lib/nsd_lib.robot @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-sep-2019 +## + +*** Variables *** +${success_return_code} 0 +${delete_max_wait_time} 1min +${delete_pol_time} 15sec + + +*** Keywords *** +Get NSDs List + ${rc} ${stdout}= Run and Return RC and Output osm nsd-list + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Create NSD + [Arguments] ${nsd_pkg} + + ${rc} ${stdout}= Run and Return RC and Output osm nsd-create ${nsd_pkg} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + [Return] ${stdout} + + +Delete NSD + [Arguments] ${nsd_id} + + ${rc} ${stdout}= Run Keyword And Continue On Failure Run and Return RC and Output osm nsd-delete ${nsd_id} + log ${stdout} + WAIT UNTIL KEYWORD SUCCEEDS ${delete_max_wait_time} ${delete_pol_time} Check For NSD ${nsd_id} + + +Check For NSD + [Arguments] ${nsd_id} + + ${rc} ${stdout}= Run and Return RC and Output osm nsd-list | awk '{print $2}' | grep ${nsd_id} + Should Not Be Equal As Strings ${stdout} ${nsd_id} diff --git a/robot-systest/lib/ssh_lib.robot b/robot-systest/lib/ssh_lib.robot new file mode 100644 index 00000000..3d2d708d --- /dev/null +++ b/robot-systest/lib/ssh_lib.robot @@ -0,0 +1,54 @@ +# 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. + +*** Keywords *** +Test SSH Connection + [Arguments] ${host} ${username} ${password} ${privatekey} + + Open Connection ${host} + Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password} + ... ELSE Login With Public Key ${username} ${privatekey} + Execute Command hostname + Close All Connections + +Check If remote File Exists + [Arguments] ${host} ${username} ${password} ${privatekey} ${file} + + Open Connection ${host} + Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password} + ... ELSE Login With Public Key ${username} ${privatekey} + ${rc}= Execute Command ls ${file} >& /dev/null return_stdout=False return_rc=True + Close All Connections + Should Be Equal As Integers ${rc} 0 + +Get Remote File Content + [Arguments] ${host} ${username} ${password} ${privatekey} ${file} + + Open Connection ${host} + Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password} + ... ELSE Login With Public Key ${username} ${privatekey} + ${output}= Execute Command cat ${file} + Close All Connections + [Return] ${output} + +Execute Remote Command Check Rc Return Output + [Arguments] ${host} ${username} ${password} ${privatekey} ${command} + + Open Connection ${host} + Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password} + ... ELSE Login With Public Key ${username} ${privatekey} + ${stdout} ${rc}= Execute Command ${command} return_rc=True return_stdout=True + log ${rc} + log ${stdout} + Close All Connections + Should Be Equal As Integers ${rc} 0 + [Return] ${stdout} \ No newline at end of file diff --git a/robot-systest/lib/vnfd_lib.robot b/robot-systest/lib/vnfd_lib.robot new file mode 100644 index 00000000..828ea0a1 --- /dev/null +++ b/robot-systest/lib/vnfd_lib.robot @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- + +## +# Copyright 2019 Tech Mahindra Limited +# +# 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. +## + +## Change log: +# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-sep-2019 +## + +*** Variables *** +${success_return_code} 0 +${delete_max_wait_time} 1min +${delete_pol_time} 15sec + + +*** Keywords *** +Get VNFDs List + ${rc} ${stdout}= Run and Return RC and Output osm vnfd-list + log ${stdout} + log ${rc} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Create VNFD + [Arguments] ${vnfd_pkg} + + ${rc} ${stdout}= Run and Return RC and Output osm vnfd-create ${vnfd_pkg} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + [Return] ${stdout} + + +Delete VNFD + [Arguments] ${vnfd_id} + + ${rc} ${stdout}= Run and Return RC and Output osm vnfd-delete ${vnfd_id} + log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + WAIT UNTIL KEYWORD SUCCEEDS ${delete_max_wait_time} ${delete_pol_time} Check For VNFD ${vnfd_id} + + +Check For VNFD + [Arguments] ${vnfd_id} + + ${rc} ${stdout}= Run and Return RC and Output osm vnfd-list | awk '{print $2}' | grep ${vnfd_id} + Should Not Be Equal As Strings ${stdout} ${vnfd_id} diff --git a/robot-systest/resource/api/common.robot b/robot-systest/resource/api/common.robot deleted file mode 100644 index 9342316a..00000000 --- a/robot-systest/resource/api/common.robot +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com -## - - -*** Variables *** -&{HEADERS} Content-Type=application/json Accept=application/json -&{data} username=admin password=admin project-id=admin -@{success_status_code_list} 200 201 202 204 - -${descriptor_content_type_gzip} application/gzip - -${auth_token_uri} /osm/admin/v1/tokens - -${get_all_vnfd_uri} /osm/vnfpkgm/v1/vnf_packages -${create_vnfd_uri} /osm/vnfpkgm/v1/vnf_packages_content -${delete_vnfd_uri} /osm/vnfpkgm/v1/vnf_packages - -${get_all_nsd_uri} /osm/nsd/v1/ns_descriptors -${create_nsd_uri} /osm/nsd/v1/ns_descriptors_content -${delete_nsd_uri} /osm/nsd/v1/ns_descriptors - -${base_ns_uri} /osm/nslcm/v1/ns_instances_content -${create_ns_uri} /osm/nslcm/v1/ns_instances_content - -${create_vim_uri} /osm/admin/v1/vim_accounts diff --git a/robot-systest/resource/api/variables.py b/robot-systest/resource/api/variables.py deleted file mode 100644 index a97763a4..00000000 --- a/robot-systest/resource/api/variables.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-sep-2019 -## - - -# Create/Delete Vim Account -vim_name = 'API-TEST-VIM' -account_type = 'openstack' -auth_url = 'http://127.0.0.1:5000/v3' -user = 'admin' -password = 'admin' -tenant = 'admin' -description = 'Test OpenStack Vim Account' diff --git a/robot-systest/resource/cli/disable_port_security_ns_data.py b/robot-systest/resource/cli/disable_port_security_ns_data.py deleted file mode 100644 index e1383bd4..00000000 --- a/robot-systest/resource/cli/disable_port_security_ns_data.py +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2020 Tech Mahindra Limited -# -# 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. -# Author: Mrityunjay Yadav < MY00514913@techmahindra.com >, Jayant Madavi -## - - -# VNFD Details -vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_basic_vnf" -vnfdPckg = '/build/hackfest_basic_vnf.tar.gz' - -# NSD Details -nsdPckgPath = "/descriptor-packages/nsd/no_port_security_ns" -nsdPckg = '/build/no_port_security_ns.tar.gz' diff --git a/robot-systest/resource/cli/hackfest_basic_ns_data.py b/robot-systest/resource/cli/hackfest_basic_ns_data.py deleted file mode 100644 index 8b8054b8..00000000 --- a/robot-systest/resource/cli/hackfest_basic_ns_data.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. -## - - -# VNFD Details -vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_basic_vnf" -vnfdPckg = '/build/hackfest_basic_vnf.tar.gz' - -# NSD Details -nsdPckgPath = "/descriptor-packages/nsd/hackfest_basic_ns" -nsdPckg = '/build/hackfest_basic_ns.tar.gz' diff --git a/robot-systest/resource/cli/hackfest_cloudinit_ns_data.py b/robot-systest/resource/cli/hackfest_cloudinit_ns_data.py deleted file mode 100644 index d725a36a..00000000 --- a/robot-systest/resource/cli/hackfest_cloudinit_ns_data.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. -## - - -# VNFD Details -vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_cloudinit_vnf" -vnfdPckg = '/build/hackfest_cloudinit_vnf.tar.gz' - -# NSD Details -nsdPckgPath = "/descriptor-packages/nsd/hackfest_cloudinit_ns" -nsdPckg = '/build/hackfest_cloudinit_ns.tar.gz' diff --git a/robot-systest/resource/cli/hackfest_epa_ns_data.py b/robot-systest/resource/cli/hackfest_epa_ns_data.py deleted file mode 100644 index 8975e31f..00000000 --- a/robot-systest/resource/cli/hackfest_epa_ns_data.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. -## - - -# VNFD Details -vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_epasriov_vnf" -vnfdPckg = '/build/hackfest_epasriov_vnf.tar.gz' - -# NSD Details -nsdPckgPath = "/descriptor-packages/nsd/hackfest_epasriov_ns" -nsdPckg = '/build/hackfest_epasriov_ns.tar.gz' diff --git a/robot-systest/resource/cli/hackfest_multivdu_ns_data.py b/robot-systest/resource/cli/hackfest_multivdu_ns_data.py deleted file mode 100644 index 5ecb9e84..00000000 --- a/robot-systest/resource/cli/hackfest_multivdu_ns_data.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. -## - - -# VNFD Details -vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_multivdu_vnf" -vnfdPckg = '/build/hackfest_multivdu_vnf.tar.gz' - -# NSD Details -nsdPckgPath = "/descriptor-packages/nsd/hackfest_multivdu_ns" -nsdPckg = '/build/hackfest_multivdu_ns.tar.gz' diff --git a/robot-systest/resource/cli/hackfest_simplecharm_ns_data.py b/robot-systest/resource/cli/hackfest_simplecharm_ns_data.py deleted file mode 100644 index 5ffcd35b..00000000 --- a/robot-systest/resource/cli/hackfest_simplecharm_ns_data.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. -## - - -# VNFD Details -vnfdPckgPath = "/descriptor-packages/vnfd/hackfest_simplecharm_vnf" -vnfdPckg = '/build/hackfest_simplecharm_vnf.tar.gz' - -# NSD Details -nsdPckgPath = "/descriptor-packages/nsd/hackfest_simplecharm_ns" -nsdPckg = '/build/hackfest_simplecharm_ns.tar.gz' diff --git a/robot-systest/resource/cli/test_vnf_data.py b/robot-systest/resource/cli/test_vnf_data.py deleted file mode 100644 index 02ee065a..00000000 --- a/robot-systest/resource/cli/test_vnf_data.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com -## - - -# VNFD Details -vnfdPckgPath = "/descriptor-packages/vnfd/cirros_vnf" -vnfdPckg = '/build/cirros_vnf.tar.gz' - -# NSD Details -nsdPckgPath = "/descriptor-packages/nsd/cirros_ns" -nsdPckg = '/build/cirros_ns.tar.gz' diff --git a/robot-systest/resource/cli/ubuntu-cloudinit_ns_data.py b/robot-systest/resource/cli/ubuntu-cloudinit_ns_data.py deleted file mode 100644 index ce680372..00000000 --- a/robot-systest/resource/cli/ubuntu-cloudinit_ns_data.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 TATA ELXSI -# -# 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. -## - -## -# Author: Ragavi D (ragavi.d@tataelxsi.co.in) - -# VNFD Details -vnfdPckgPath = "/descriptor-packages/vnfd/ubuntu-cloudinit_vnf" -vnfdPckg = '/build/ubuntu-cloudinit_vnf.tar.gz' - -# NSD Details -nsdPckgPath = "/descriptor-packages/nsd/ubuntu-cloudinit_ns" -nsdPckg = '/build/ubuntu-cloudinit_ns.tar.gz' diff --git a/robot-systest/resources/hackfest_basic_ns_data.py b/robot-systest/resources/hackfest_basic_ns_data.py new file mode 100644 index 00000000..5d3b8561 --- /dev/null +++ b/robot-systest/resources/hackfest_basic_ns_data.py @@ -0,0 +1,27 @@ +# 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 files +vnfd_pkg = 'hackfest_basic_vnf.tar.gz' +nsd_pkg = 'hackfest_basic_ns.tar.gz' +# NS and VNF descriptor package files +vnfd_name = 'hackfest_basic-vnf' +nsd_name = 'hackfest_basic-ns' +# NS instance name +ns_name = 'hfbasic' +# SSH keys to be used +publickey = home + '/.ssh/id_rsa.pub' +privatekey = home + '/.ssh/id_rsa' diff --git a/robot-systest/resources/hackfest_cloudinit_ns_data.py b/robot-systest/resources/hackfest_cloudinit_ns_data.py new file mode 100644 index 00000000..6d2994b8 --- /dev/null +++ b/robot-systest/resources/hackfest_cloudinit_ns_data.py @@ -0,0 +1,27 @@ +# 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 files +vnfd_pkg = 'hackfest_cloudinit_vnf.tar.gz' +nsd_pkg = 'hackfest_cloudinit_ns.tar.gz' +# NS and VNF descriptor package files +vnfd_name = 'hackfest_cloudinit-vnf' +nsd_name = 'hackfest_cloudinit-ns' +# NS instance name +ns_name = 'hfcloudinit' +# SSH keys to be used +publickey = home + '/.ssh/id_rsa.pub' +privatekey = home + '/.ssh/id_rsa' diff --git a/robot-systest/resources/hackfest_multivdu_ns_data.py b/robot-systest/resources/hackfest_multivdu_ns_data.py new file mode 100644 index 00000000..b8bc7fbd --- /dev/null +++ b/robot-systest/resources/hackfest_multivdu_ns_data.py @@ -0,0 +1,27 @@ +# 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 files +vnfd_pkg = 'hackfest_multivdu_vnf.tar.gz' +nsd_pkg = 'hackfest_multivdu_ns.tar.gz' +# NS and VNF descriptor package files +vnfd_name = 'hackfest_multivdu-vnf' +nsd_name = 'hackfest_multivdu-ns' +# NS instance name +ns_name = 'hfmultivdu' +# SSH keys to be used +publickey = home + '/.ssh/id_rsa.pub' +privatekey = home + '/.ssh/id_rsa' diff --git a/robot-systest/run_test.sh b/robot-systest/run_test.sh deleted file mode 100644 index 3f86ff9c..00000000 --- a/robot-systest/run_test.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env bash - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-Sep-2019 -# Entry script to start the vim, smoke, openstack_stage_4 and comprehensive test using Robot Framework as a Automation Test Framework -## - -BASEDIR=$(dirname "$0") -TOPDIR=$(dirname "$BASEDIR") -DESCRIPTOR_DIR=$TOPDIR/descriptor-packages - - -robot_prerequisite(){ - echo -e "\nInstalling robot requirements" - # installing python packages - pip install haikunator requests robotframework robotframework-seleniumlibrary robotframework-requests robotframework-jsonlibrary -} - -while getopts ":t:-:" o; do - case "${o}" in - t) - TEST=${OPTARG} - ;; - -) - [[ "${OPTARG}" == "do_install" ]] && robot_prerequisite && continue - ;; - \?) - echo -e "Invalid option: '-$OPTARG'\n" >&2 - exit 1 - ;; - esac -done - -if [[ -z $TEST ]]; then - printf "Test not provided. \nRunning default test: smoke\n" - TEST="smoke" -fi - -if [[ "$TEST" == "vim" ]]; then - echo "Robot Framework Vim Test" - robot -d $BASEDIR/reports -i vim $BASEDIR/testsuite/ - exit 0 -elif [[ "$TEST" == "smoke" ]]; then - echo "Robot Framework SMOKE test" - robot --removekeywords tag:vim-setup --removekeywords WUKS -d $BASEDIR/reports -i smoke $BASEDIR/testsuite/ - exit 0 -elif [[ "$TEST" == "sanity" ]]; then - echo "Robot Framework Cirros VNF Test" - mkdir -p $BASEDIR/images/cache - if [[ ! -z $OS_AUTH_URL ]]; then - (openstack image show cirros-0.3.5-x86_64-disk.img) || (wget -r -nc http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img -O $BASEDIR/images/cache/cirros-0.3.5-x86_64-disk.img && make $BASEDIR/images/cache/cirros-0.3.5-x86_64-disk.img && openstack image create --file $BASEDIR/images/cache/cirros-0.3.5-x86_64-disk.img cirros-0.3.5-x86_64-disk.img) - fi - if [[ ! -z $VCD_AUTH_URL ]]; then -# TODO: Check for image over VIM before downloading - if [[ ! -s $BASEDIR/images/cache/cirros-0.3.5-x86_64-disk.img ]]; then - wget -r -nc http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img -O $BASEDIR/images/cache/cirros-0.3.5-x86_64-disk.img - fi - ovf_converter $BASEDIR/images/cache/cirros-0.3.5-x86_64-disk.img -n cirros - python $TOPDIR/tools/vmware_ovf_upload.py $VCD_AUTH_URL $VCD_USERNAME $VCD_PASSWORD $VCD_ORGANIZATION $BASEDIR/images/cache/cirros.ovf - fi - robot --removekeywords tag:vim-setup --removekeywords WUKS -d $BASEDIR/reports -i sanity $BASEDIR/testsuite/ - exit 0 -elif [[ "$TEST" == "comprehensive" ]]; then - echo "Robot Framework Comprehensive Test" - echo "Installing chrome driver and chrome for UI testing" - # installing chrome driver and chrome for UI testing - curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - - echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list - apt-get update && apt-get -y install google-chrome-stable chromium-chromedriver - echo "Checking of image over VIMs" - mkdir -p $BASEDIR/images/cache - if [[ ! -z $OS_AUTH_URL ]]; then - (openstack image show ubuntu1604) || (wget -r -nc https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img -O $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img && make $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img && openstack image create --file $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img ubuntu1604) - (openstack image show hackfest3-mgmt) || (wget -r -nc https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img -O $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img && make $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img && openstack image create --file $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img hackfest3-mgmt) - fi - if [[ ! -z $VCD_AUTH_URL ]]; then -# TODO: Check for image over VIM before downloading - if [[ ! -s $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img ]]; then - wget -r -nc https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img -O $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img - fi - ovf_converter $BASEDIR/images/cache/xenial-server-cloudimg-amd64-disk1.img -n ubuntu1604 - python $TOPDIR/tools/vmware_ovf_upload.py $VCD_AUTH_URL $VCD_USERNAME $VCD_PASSWORD $VCD_ORGANIZATION $BASEDIR/images/cache/ubuntu1604.ovf - fi - robot --removekeywords tag:vim-setup --removekeywords WUKS -d $BASEDIR/reports -i comprehensive $BASEDIR/testsuite/ - exit 0 -else - echo "wrong test provided" - exit 1 -fi - -exit 1 diff --git a/robot-systest/testsuite/api/TS01__Vim_Account.robot b/robot-systest/testsuite/api/TS01__Vim_Account.robot deleted file mode 100644 index be04c3fd..00000000 --- a/robot-systest/testsuite/api/TS01__Vim_Account.robot +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. -## - - -*** Settings *** -Documentation Test Suite to create and delete vim account -Library Collections -Library RequestsLibrary -Library OperatingSystem -Resource ../../lib/api/common.robot -Resource ../../lib/api/vim_lib.robot -Resource ../../resource/api/common.robot -Variables ../../resource/api/variables.py - -Suite Setup Get Auth Token -Suite Teardown Delete All Sessions - - -*** Variables *** -${vim_id} ${EMPTY} - - -*** Test Cases *** -Create Vim Account - [Tags] comprehensive api_vim_test - [Template] Create Vim - ${vim name} ${account type} ${auth url} ${user} ${password} ${tenant} ${description} - - -Delete Vim Account - [Tags] comprehensive api_vim_test - [Template] Delete Vim - ${vim_id} diff --git a/robot-systest/testsuite/cli/TS008__Test_SDNC.robot b/robot-systest/testsuite/cli/TS008__Test_SDNC.robot deleted file mode 100644 index 3b2b21ae..00000000 --- a/robot-systest/testsuite/cli/TS008__Test_SDNC.robot +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - - -*** Settings *** -Documentation Test suiet to create/delete sdnc account via osmclient -Library OperatingSystem -Library Collections -Resource ../../lib/cli/sdnc_account_lib.robot - - -*** Test Cases *** -Create SDNC Account Test - [Tags] sdnc - - Create SDNC Account - - -Get SDNC Accounts List Test - [Tags] sdnc - - Get SDNC List - - -Delete SDNC Account Test - [Tags] sdnc - - Delete SDNC Account diff --git a/robot-systest/testsuite/cli/TS009__Feature_6283_Network_Slicing_Test.robot b/robot-systest/testsuite/cli/TS009__Feature_6283_Network_Slicing_Test.robot deleted file mode 100644 index fa8c44a4..00000000 --- a/robot-systest/testsuite/cli/TS009__Feature_6283_Network_Slicing_Test.robot +++ /dev/null @@ -1,117 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 08-nov-2019 : network slicing test library -## - - -*** Settings *** -Documentation Test Suite to create hackfest basic nestwork service -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/vnfd_lib.robot -Resource ../../lib/cli/nsd_lib.robot -Resource ../../lib/cli/vim_account_lib.robot -Resource ../../lib/cli/network_slicing_lib.robot -Library ../../lib/custom_lib.py - -Suite Teardown Run Keyword And Ignore Error Test Cleanup - - -*** Variables *** -${vnfd_id} -@{vnfd_ids} -${nsd_id} -@{nsd_ids} -${nst_id} -@{nsi_list} -${vnfdPckg} slice_hackfest_vnfd.tar.gz -${nsdPckg} slice_hackfest_nsd.tar.gz -${nstPckg} slice_hackfest_nst.yaml -${vnfdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/slice_hackfest_vnfd.tar.gz -${nsdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/slice_hackfest_nsd.tar.gz -${nstftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/slice_hackfest_nst.yaml -${nst_config} '{netslice-vld: [{name: mgmtnet, vim-network-name: mgmt}]}' - - -*** Test Cases *** -Create Slice Hackfest VNF Descriptor - [Tags] slice_hackfest comprehensive - [Documentation] Create Slice Hackfest VNF Descriptor Test - - ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/cli/slice/' ${vnfdftpPath} - ${vnfd_id}= Create VNFD '${CURDIR}${/}../../resource/cli/slice${/}${vnfdPckg}' - Append To List ${vnfd_ids} ${vnfd_id} - - -Create Slice Hackfest NS Descriptor - [Tags] slice_hackfest comprehensive - [Documentation] Create Slice Hackfest NS Descriptor Test - - ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/cli/slice/' ${nsdftpPath} - ${nsd_id}= Create NSD '${CURDIR}${/}../../resource/cli/slice${/}${nsdPckg}' - Append To List ${nsd_ids} ${nsd_id} - - -Create Slice Hackfest Network Slice Template - [Tags] slice_hackfest comprehensive - [Documentation] Create Slice Hackfest Network Slice Template Test - -# set suite variable ${nst_id} - ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/cli/slice/' ${nstftpPath} - ${nst_id}= Create NST '${CURDIR}${/}../../resource/cli/slice${/}${nstPckg}' - Set Suite Variable ${nst_id} - - -Instanciate Network Slice - [Tags] slice_hackfest comprehensive - [Documentation] Instantiate Network Slice Test - - :FOR ${vim_name} IN @{vim} - \ Launch Network Slice Instance ${vim_name} ${nst_id} ${nst_config} - - -Terminate Network Slice Instance - [Tags] slice_hackfest comprehensive - [Documentation] Terminate Network Slice Instance Test - - :FOR ${nsi} IN @{nsi_list} - \ Delete Network Slice Instance ${nsi} - - -*** Keywords *** -Test Cleanup - [Documentation] Test Suit Cleanup: delete NST, NSD and VNFD - - Delete NST ${nst_id} - -# :FOR ${nsi} IN @{nsi_list} -# \ Delete Network Slice Instance ${nsi} - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - :FOR ${vnfd} IN @{vnfd_ids} - \ Delete VNFD ${vnfd} - -# :FOR ${vim_id} IN @{vim} -# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/testsuite/cli/TS010__OSM_Platform_Resiliency_and_Recovery_Test.robot b/robot-systest/testsuite/cli/TS010__OSM_Platform_Resiliency_and_Recovery_Test.robot deleted file mode 100644 index 2475e740..00000000 --- a/robot-systest/testsuite/cli/TS010__OSM_Platform_Resiliency_and_Recovery_Test.robot +++ /dev/null @@ -1,62 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 08-nov-2019 : network slicing test library -## - - -*** Settings *** -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/osm_platform_resiliancy_recovery_lib.robot -Library ../../lib/custom_lib.py - - -*** Variables *** -${max_wait_time} 5min -${pol_time} 30sec -@{components} osm_keystone.1 osm_lcm.1 osm_light-ui.1 osm_mon.1 osm_mongo.1 osm_nbi.1 osm_pol.1 osm_prometheus.1 osm_ro.1 osm_kafka.1 osm_zookeeper.1 osm_mysql.1 - - -*** Test Cases *** -Feature 1413 - OSM platform resiliency to single component failure - [Tags] platform resiliency - [Documentation] OSM platform resiliency test - - ${name}= Get Random Item From List ${components} - Check If OSM Working - WAIT UNTIL KEYWORD SUCCEEDS 2x 30sec Check All Service Are Running - Kill Docker Container ${name} - WAIT UNTIL KEYWORD SUCCEEDS ${max_wait_time} ${pol_time} Check All Service Are Running - Check If OSM Working - - -Feature 1412 - OSM platform recovery after major failure - [Tags] platform recovery - [Documentation] OSM platform recovery - - Check If OSM Working - WAIT UNTIL KEYWORD SUCCEEDS 2x 30sec Check All Service Are Running - :FOR ${component} IN @{components} - \ Kill Docker Container ${component} - WAIT UNTIL KEYWORD SUCCEEDS ${max_wait_time} ${pol_time} Check All Service Are Running - Check If OSM Working diff --git a/robot-systest/testsuite/cli/TS011__Feature_1415_RBAC_For_Platform_Test.robot b/robot-systest/testsuite/cli/TS011__Feature_1415_RBAC_For_Platform_Test.robot deleted file mode 100644 index c8e44e15..00000000 --- a/robot-systest/testsuite/cli/TS011__Feature_1415_RBAC_For_Platform_Test.robot +++ /dev/null @@ -1,106 +0,0 @@ -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 21-nov-2019 -## - -*** Settings *** -Documentation Test RBAC for platform using CRUD operations over users, projects and roles -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/rbac_lib.robot - -#Suite Setup Configure NBI For RBAC -Suite Teardown Run Keyword And Ignore Error Test Cleanup - - -*** Variables *** -${success_return_code} 0 -# Test data for Users Operations test -${user_id} ${EMPTY} -&{update_field1} --set-project=admin,system_admin,project_admin #project,role1,role2... -&{update_field2} --add-project-role=admin,project_user #project,role1,role2... -&{update_field3} --add-project-role=service,account_manager #project,role1,role2... -@{update_user} ${update_field1} ${update_field2} ${update_field3} -# Test data for Project Operations test -${project_id} ${EMPTY} -# Test data for Role Operations test -${role_id} ${EMPTY} -${role_to_add} "vims: true" - - -*** Test Cases *** -Test User Operations - [Documentation] Test RBAC using CRUD operation over users - [Tags] rabc rabc_users comprehensive - - ${user-name}= Generate Random String 8 [NUMBERS] - ${user-name}= Catenate SEPARATOR= user_ ${user-name} - set global variable ${user-name} - ${user-password}= Generate Random String 8 [NUMBERS] - set global variable ${user-password} - ${user_id}= Create User ${user-name} ${user-password} - List User And Check For The Created User ${user-name} - Get User Info By Name ${user-name} - Get User Info By ID ${user_id} - Update User And Verify Info ${user-name} @{update_user} - Login With User And Perform Operation ${user-name} ${user-password} admin - Delete User And Check ${user-name} - - -Test Project Operatios - [Documentation] Test RBAC using CRUD operation over projects - [Tags] rabc rabc_projects comprehensive - - ${project-name}= Generate Random String 8 [NUMBERS] - ${project-name}= Catenate SEPARATOR= project_ ${project-name} - set global variable ${project-name} - ${project_id}= Create Project ${project-name} - List Project And Verify ${project-name} - Get Project Info By Name ${project-name} - Get Project Info By ID ${project_id} - ${new-project-name}= Generate Random String 8 [NUMBERS] - ${new-project-name}= Catenate SEPARATOR= project_ ${new-project-name} - set global variable ${new-project-name} - Update Project Name And Verify ${project-name} ${new-project-name} - Delete Project And Verify ${new-project-name} - - -Test Role Operations - [Documentation] Test RBAC using CRUD operation over roles - [Tags] rabc rabc_roles comprehensive - - ${role-name}= Generate Random String 8 [NUMBERS] - ${role-name}= Catenate SEPARATOR= project_ ${role-name} - set global variable ${role-name} - ${role_id}= Create Role ${role-name} - List Roles And Verify ${role-name} - Get Role Info By Name ${role-name} - Get Role Info By ID ${role_id} - Add Role And Verify ${role-name} ${role_to_add} - Delete Role And Verify ${role-name} - - -*** Keywords *** -Test Cleanup - Delete User ${user-name} - Delete Project ${project-name} - Delete Project ${new-project-name} - Delete Role ${role-name} \ No newline at end of file diff --git a/robot-systest/testsuite/cli/TS012__Feature_7181_Allow_Instantiation_Parameters_in_CloudInit.robot b/robot-systest/testsuite/cli/TS012__Feature_7181_Allow_Instantiation_Parameters_in_CloudInit.robot deleted file mode 100644 index 68f98fae..00000000 --- a/robot-systest/testsuite/cli/TS012__Feature_7181_Allow_Instantiation_Parameters_in_CloudInit.robot +++ /dev/null @@ -1,87 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 TATA ELXSI -# -# 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. -## - -## Author: Ragavi D (ragavi.d@tataelxsi.co.in) - -*** Settings *** -Documentation Test Suite to create hackfest basic nestwork service -Suite Teardown Run Keyword And Ignore Error Test Cleanup -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/vnfd_lib.robot -Resource ../../lib/cli/nsd_lib.robot -Resource ../../lib/cli/ns_lib.robot -Resource ../../lib/cli/vim_account_lib.robot -Library ../../lib/custom_lib.py -Variables ../../resource/cli/ubuntu-cloudinit_ns_data.py - -*** Variables *** -@{vnfd_ids} -${nsd_id} ${EMPTY} -@{nsd_ids} -@{ns_ids} -${ns_config} '{vld: [ {name: mgmtnet, vim-network-name: osm-ext} ], additionalParamsForVnf: [ { member-vnf-index: "1", additionalParams: { password: "PASSWORD" } } ] }' - -*** Test Cases *** -Create Ubuntu CloudInit VNF Descriptor - [Tags] comprehensive ubuntu-cloudinit_ns - Build VNF Descriptor ${vnfdPckgPath} - ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' - Append To List ${vnfd_ids} ${vnfd_id} - -Create Ubuntu CloudInit NS Descriptor - [Tags] comprehensive ubuntu-cloudinit_ns - Build NS Descriptor ${nsdPckgPath} - ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' - Append To List ${nsd_ids} ${nsd_id} - -Network Service Instance Test - [Documentation] Launch and terminate network services - [Tags] comprehensive ubuntu-cloudinit_ns - : FOR ${vim_name} IN @{vim} - \ Launch Network Services and Return ${vim_name} ${ns_config} - -Delete NS Instance Test - [Tags] comprehensive ubuntu-cloudinit_ns - : FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - -Delete NS Descriptor Test - [Tags] comprehensive ubuntu-cloudinit_ns - : FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - -Delete VNF Descriptor Test - [Tags] comprehensive ubuntu-cloudinit_ns - : FOR ${vnfd_id} IN @{vnfd_ids} - \ Delete VNFD ${vnfd_id} - -*** Keywords *** -Test Cleanup - [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim - : FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - : FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - : FOR ${vnfd} IN @{vnfd_ids} - \ Delete VNFD ${vnfd} - # :FOR ${vim_id} IN @{vim} - # Delete Vim Account ${vim_id} diff --git a/robot-systest/testsuite/cli/TS013__Feature_1415_RBAC_Visibility_Of_Packages_And_Instances.robot b/robot-systest/testsuite/cli/TS013__Feature_1415_RBAC_Visibility_Of_Packages_And_Instances.robot deleted file mode 100644 index 43029516..00000000 --- a/robot-systest/testsuite/cli/TS013__Feature_1415_RBAC_Visibility_Of_Packages_And_Instances.robot +++ /dev/null @@ -1,144 +0,0 @@ -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 18-Dec-2019 -## - -*** Settings *** -Documentation Test RBAC for platform - Visibility of packages and instances test -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/rbac_lib.robot -Resource ../../lib/cli/vnfd_lib.robot -Resource ../../lib/cli/nsd_lib.robot -Resource ../../lib/cli/ns_lib.robot -Resource ../../lib/cli/vim_account_lib.robot -Library ../../lib/custom_lib.py - -Suite Setup Prerequisite For Test -Suite Teardown Run Keyword And Ignore Error Test Cleanup - - -*** Variables *** -${success_return_code} 0 - -@{vim} -@{vnfd_ids} -${nsd_id} -@{nsd_ids} -@{ns_ids} -${vnfdPckg} hackfest_basic_vnf.tar.gz -${nsdPckg} hackfest_basic_ns.tar.gz -${vnfdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/hackfest_basic_vnf.tar.gz -${nsdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/hackfest_basic_ns.tar.gz - -# Test data for Users Operations test -${user_id} ${EMPTY} - -# Test data for Project Operations test -${project_id} ${EMPTY} - - -*** Test Cases *** -Create VIM Account For New User - [Documentation] Test to create VIM account for newly created user - [Tags] rabc rabc_vim comprehensive nbi - - Wait Until Keyword Succeeds 2x 30sec VIM Setup To Launch Network Services - - -Create VNF Descriptor For New User - [Documentation] Test to create vnfd for new user - [Tags] rabc rabc_vnfd comprehensive nbi - - ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/cli/rbac/' ${vnfdftpPath} - ${vnfd_id}= Create VNFD '${CURDIR}${/}../../resource/cli/rbac${/}${vnfdPckg}' - Append To List ${vnfd_ids} ${vnfd_id} - - -Create NS Descriptor For New User - [Documentation] Test to create nsd for new user - [Tags] rabc rabc_nsd comprehensive nbi - - ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/cli/rbac/' ${nsdftpPath} - ${nsd_id}= Create VNFD '${CURDIR}${/}../../resource/cli/rbac${/}${nsdPckg}' - Append To List ${nsd_ids} ${nsd_id} - - -Instanciate Network Service For New User - [Documentation] Launch network services for new user - [Tags] rabc rabc_ns comprehensive nbi - - :FOR ${vim_name} IN @{vim} - \ Launch Network Services and Return ${vim_name} - - -Delete NS Instance Test - [Tags] rabc rabc_ns comprehensive nbi - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - -Delete NS Descriptor Test - [Tags] rabc rabc_nsd comprehensive nbi - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - -Delete VNF Descriptor Test - [Tags] rabc rabc_vnfd comprehensive nbi - - :FOR ${vnfd_id} IN @{vnfd_ids} - \ Delete VNFD ${vnfd_id} - - -*** Keywords *** -Prerequisite For Test - ${user-name}= Generate Random String 8 [NUMBERS] - ${user-name}= Catenate SEPARATOR= user_ ${user-name} - set global variable ${user-name} - ${user-password}= Generate Random String 8 [NUMBERS] - set global variable ${user-password} - ${user_id}= Create User ${user-name} ${user-password} - - ${project-name}= Generate Random String 8 [NUMBERS] - ${project-name}= Catenate SEPARATOR= project_ ${project-name} - set global variable ${project-name} - ${project_id}= Create Project ${project-name} - - &{update_field1}= Create Dictionary --add-project-role=admin,project_user - &{update_field2}= Create Dictionary --add-project-role=${project-name},account_manager - @{update_user}= Create List ${update_field1} ${update_field2} - Update User And Verify Info ${user-name} @{update_user} - Login With User And Perform Operation ${user-name} ${user-password} ${project-name} - - -Test Cleanup - [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim - -# :FOR ${vim_id} IN @{vim} -# \ Delete Vim Account ${vim_id} - - Logout and Login With Admin - - Delete User ${user-name} - Delete Project ${project-name} diff --git a/robot-systest/testsuite/cli/TS014__Feature_7921_MongoDB_Filesystem_Test.robot b/robot-systest/testsuite/cli/TS014__Feature_7921_MongoDB_Filesystem_Test.robot deleted file mode 100644 index 3070d419..00000000 --- a/robot-systest/testsuite/cli/TS014__Feature_7921_MongoDB_Filesystem_Test.robot +++ /dev/null @@ -1,124 +0,0 @@ -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 18-Dec-2019 -## - -*** Settings *** -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/vnfd_lib.robot -Resource ../../lib/cli/nsd_lib.robot -Resource ../../lib/cli/ns_lib.robot -Resource ../../lib/cli/vim_account_lib.robot -Library ../../lib/custom_lib.py - -Suite Setup Prerequisite For Test -Suite Teardown Run Keyword And Ignore Error Test Cleanup - - -*** Variables *** -${success_return_code} 0 - -@{vim} -@{vnfd_ids} -${nsd_id} -@{nsd_ids} -@{ns_ids} -${vnfdPckg} hackfest_basic_vnf.tar.gz -${nsdPckg} hackfest_basic_ns.tar.gz -${vnfdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/hackfest_basic_vnf.tar.gz -${nsdftpPath} https://osm-download.etsi.org/ftp/osm-5.0-five/6th-hackfest/packages/hackfest_basic_ns.tar.gz - - -*** Test Cases *** -Create VNF Descriptor Test - [Tags] comprehensive feature7921 - - ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/' ${vnfdftpPath} - ${vnfd_id}= Create VNFD '${CURDIR}${/}../../resource${/}${vnfdPckg}' - Append To List ${vnfd_ids} ${vnfd_id} - - -Create NS Descriptor Test - [Tags] comprehensive feature7921 - - ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../resource/' ${nsdftpPath} - ${nsd_id}= Create VNFD '${CURDIR}${/}../../resource${/}${nsdPckg}' - Append To List ${nsd_ids} ${nsd_id} - - -Instanciate Network Service Test - [Tags] comprehensive feature7921 - [Setup] Wait Until Keyword Succeeds 2x 30sec VIM Setup To Launch Network Services - - :FOR ${vim_name} IN @{vim} - \ Launch Network Services and Return ${vim_name} - - -Delete NS Instance Test - [Tags] comprehensive feature7921 - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - -Delete NS Descriptor Test - [Tags] comprehensive feature7921 - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - -Delete VNF Descriptor Test - [Tags] comprehensive feature7921 - - :FOR ${vnfd_id} IN @{vnfd_ids} - \ Delete VNFD ${vnfd_id} - - -*** Keywords *** -Prerequisite For Test - [Documentation] Update docker service to use mongodb as file system - - Update NBI Service - Update LCM Service - - -Update NBI Service - ${rc} ${stdout}= Run and Return RC and Output docker service update osm_nbi --force --env-add OSMNBI_STORAGE_DRIVER=mongo --env-add OSMNBI_STORAGE_PATH=/app/storage --env-add OSMNBI_STORAGE_COLLECTION=files --env-add OSMNBI_STORAGE_URI=mongodb://mongo:27017 - Should Be Equal As Integers ${rc} ${success_return_code} - Sleep 30s Wait for NBI service to be update - - -Update LCM Service - ${rc} ${stdout}= Run and Return RC and Output docker service update osm_lcm --force --env-add OSMLCM_STORAGE_DRIVER=mongo --env-add OSMLCM_STORAGE_PATH=/app/storage --env-add OSMLCM_STORAGE_COLLECTION=files --env-add OSMLCM_STORAGE_URI=mongodb://mongo:27017 - Should Be Equal As Integers ${rc} ${success_return_code} - Sleep 30s Wait for LCM service to be update - - -Test Cleanup -# :FOR ${vim_id} IN @{vim} -# \ Delete Vim Account ${vim_id} - - ${rc} ${stdout}= Run and Return RC and Output docker service rollback osm_nbi - Should Be Equal As Integers ${rc} ${success_return_code} - ${rc} ${stdout}= Run and Return RC and Output docker service rollback osm_lcm - Should Be Equal As Integers ${rc} ${success_return_code} diff --git a/robot-systest/testsuite/cli/TS015__Feature_8047_OSMClient_Package_Creation_And_Validation.robot b/robot-systest/testsuite/cli/TS015__Feature_8047_OSMClient_Package_Creation_And_Validation.robot deleted file mode 100644 index e717c105..00000000 --- a/robot-systest/testsuite/cli/TS015__Feature_8047_OSMClient_Package_Creation_And_Validation.robot +++ /dev/null @@ -1,84 +0,0 @@ -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 18-Dec-2019 -## - -*** Settings *** -Documentation Test Suite to test OSMClient Package Createtion and Validation Tool -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/osm_package_tools_lib.robot - -Suite Setup Prerequisite For Test -Suite Teardown Test Cleanup - - -*** Variables *** -${success_return_code} 0 -${base_dir} ${EXECDIR} -${pkg_dir} ${CURDIR}${/}../../resource/cli/packages -${ns_pkg} vEPC -${vnf_pkg} vEPC - - -*** Test Cases *** -Test OSM NS Package Create - [Tags] comprehensive feature8047 - Create OSM NS Package ${ns_pkg} - - -Test OSM VNF Package Create - [Tags] comprehensive feature8047 - Create OSM VNF Package ${vnf_pkg} - - -Test OSM NS Package Validate - [Tags] comprehensive feature8047 - Validate OSM NS Package ${ns_pkg} - - -Test OSM VNF Package Validate - [Tags] comprehensive feature8047 - Validate OSM VNF Package ${vnf_pkg} - - -Test OSM VNF Package Build - [Tags] comprehensive feature8047 - Build OSM VNF Package ${vnf_pkg} - - -Test OSM NS Package Build - [Tags] comprehensive feature8047 - Build OSM NS Package ${ns_pkg} - - -*** Keywords *** -Prerequisite For Test - Create Directory ${pkg_dir} - ${rc} ${stdout}= Run and Return RC and Output cd ${pkg_dir} - Should Be Equal As Integers ${rc} ${success_return_code} - - -Test Cleanup - ${rc} ${stdout}= Run and Return RC and Output cd ${base_dir} - Should Be Equal As Integers ${rc} ${success_return_code} - - Remove Directory ${pkg_dir} recursive=${TRUE} \ No newline at end of file diff --git a/robot-systest/testsuite/cli/TS016__Manual_VNF_VDU_Scaling_Test.robot b/robot-systest/testsuite/cli/TS016__Manual_VNF_VDU_Scaling_Test.robot deleted file mode 100644 index 3f7bce8d..00000000 --- a/robot-systest/testsuite/cli/TS016__Manual_VNF_VDU_Scaling_Test.robot +++ /dev/null @@ -1,129 +0,0 @@ -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 27-Nov-19 -## - -*** Settings *** -Documentation Test Suite to test manual scale-in/out cirros VNF and NS using osm-client -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/vnfd_lib.robot -Resource ../../lib/cli/nsd_lib.robot -Resource ../../lib/cli/ns_lib.robot -Resource ../../lib/cli/vim_account_lib.robot -Library ../../lib/custom_lib.py - -Suite Teardown Run Keyword And Ignore Error Test Cleanup - - -*** Variables *** -# VNFD Details -@{vnfd_ids} -${vnfdPckgPath} /descriptor-packages/vnfd/cirros_vnf -${vnfdPckg} /build/cirros_vnf.tar.gz - -# NSD Details -@{nsd_ids} -${nsdPckgPath} /descriptor-packages/nsd/cirros_ns -${nsdPckg} /build/cirros_ns.tar.gz -${scaling_group} scaling_cirros_vnf -${vnf_member_index} 1 - -@{ns_ids} - - -*** Test Cases *** -Create VNF Descriptor Test - [Documentation] Build and onboard cirros VNF package with scaling parameter - [Tags] comprehensive manual_scaling - - Build VNF Descriptor ${vnfdPckgPath} - ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' - Append To List ${vnfd_ids} ${vnfd_id} - - -Create NS Descriptor Test - [Documentation] Build and onboard cirros NS package with scaling parameter - [Tags] comprehensive manual_scaling - - Build NS Descriptor ${nsdPckgPath} - ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' - Append To List ${nsd_ids} ${nsd_id} - - -Network Service Instance Test - [Documentation] Launch cirros ns with scaling parameter - [Tags] comprehensive manual_scaling - - :FOR ${vim_name} IN @{vim} - \ Launch Network Services and Return ${vim_name} - - -Perform VNF/VDU Scaling-out Operation Over Launched NS Test - [Documentation] scale-out cirros ns - [Tags] comprehensive manual_scaling - :FOR ${ns} IN @{ns_ids} - \ Perform VNF Scale-out Operation ${ns} ${vnf_member_index} ${scaling_group} - - -Perform VNF/VDU Scaling-in Operation Over Launched NS Test - [Documentation] scale-in cirros ns - [Tags] comprehensive manual_scaling - :FOR ${ns} IN @{ns_ids} - \ Perform VNF Scale-in Operation ${ns} ${vnf_member_index} ${scaling_group} - - -Delete NS Instance Test - [Tags] comprehensive manual_scaling - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - -Delete NS Descriptor Test - [Tags] comprehensive manual_scaling - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - -Delete VNF Descriptor Test - [Tags] comprehensive manual_scaling - - :FOR ${vnfd} IN @{vnfd_ids} - \ Delete VNFD ${vnfd} - - -*** Keywords *** -Test Cleanup - [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - :FOR ${vnfd} IN @{vnfd_ids} - \ Delete VNFD ${vnfd} - -# :FOR ${vim_id} IN @{vim} -# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/testsuite/cli/TS017__Feature_7326_Disable_Port_Security_at_Network_level.robot b/robot-systest/testsuite/cli/TS017__Feature_7326_Disable_Port_Security_at_Network_level.robot deleted file mode 100644 index 562dc15d..00000000 --- a/robot-systest/testsuite/cli/TS017__Feature_7326_Disable_Port_Security_at_Network_level.robot +++ /dev/null @@ -1,122 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2020 Tech Mahindra Limited -# -# 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. -# -# Author: Mrityunjay Yadav , Jayant Madavi -## - - -*** Settings *** -Documentation Test Suite to test disable network port security NS -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/vnfd_lib.robot -Resource ../../lib/cli/nsd_lib.robot -Resource ../../lib/cli/ns_lib.robot -Resource ../../lib/cli/vim_account_lib.robot -Library ../../lib/custom_lib.py -Variables ../../resource/cli/disable_port_security_ns_data.py - -Suite Teardown Run Keyword And Ignore Error Test Cleanup - - -*** Variables *** -@{vnfd_ids} -${nsd_id} -@{nsd_ids} -@{ns_ids} - - -*** Test Cases *** -Create VNF Descriptor - [Tags] disable_port_security comprehensive - - Build VNF Descriptor ${vnfdPckgPath} - ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' - Append To List ${vnfd_ids} ${vnfd_id} - - -Create NS Descriptor - [Tags] disable_port_security comprehensive - - Build NS Descriptor ${nsdPckgPath} - ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' - Append To List ${nsd_ids} ${nsd_id} - - -Network Service Instance Test - [Documentation] Launch and terminate network services - [Tags] disable_port_security comprehensive - - :FOR ${vim_name} IN @{vim} - \ Launch Network Services and Return ${vim_name} - - -Verify Port Security - [Tags] disable_port_security comprehensive - - :FOR ${ns} IN @{ns_ids} - \ Check For Network Port Security ${ns} - - -Delete NS Instance Test - [Tags] disable_port_security comprehensive - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - -Delete NS Descriptor Test - [Tags] disable_port_security comprehensive - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - -Delete VNF Descriptor Test - [Tags] disable_port_security comprehensive - - :FOR ${vnfd_id} IN @{vnfd_ids} - \ Delete VNFD ${vnfd_id} - - -*** Keywords *** -Check For Network Port Security - [Arguments] ${ns_name} - ${rc} ${network_id}= Run and Return RC and Output openstack network list | grep ${ns_name} | awk '{print $2}' - Log ${network_id} - ${rc} ${stdout}= Run and Return RC and Output openstack network show ${network_id} -f json | jq '.port_security_enabled' - Log ${stdout} - Should Be Equal As Strings ${stdout} true - - -Test Cleanup - [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - :FOR ${vnfd} IN @{vnfd_ids} - \ Delete VNFD ${vnfd} - -# :FOR ${vim_id} IN @{vim} -# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/testsuite/cli/TS01__Test_VNF.robot b/robot-systest/testsuite/cli/TS01__Test_VNF.robot deleted file mode 100644 index 84e1f927..00000000 --- a/robot-systest/testsuite/cli/TS01__Test_VNF.robot +++ /dev/null @@ -1,107 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-aug-2019 -## - - -*** Settings *** -Documentation Test Suite to test basic cirros VNF and NS using osm-client -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/vnfd_lib.robot -Resource ../../lib/cli/nsd_lib.robot -Resource ../../lib/cli/ns_lib.robot -Resource ../../lib/cli/vim_account_lib.robot -Library ../../lib/custom_lib.py -Variables ../../resource/cli/test_vnf_data.py - -Suite Teardown Run Keyword And Ignore Error Test Cleanup - - -*** Variables *** -@{vnfd_ids} -@{nsd_ids} -@{ns_ids} - - -*** Test Cases *** -Create VNF Descriptor Test - [Tags] sanity smoke - - Build VNF Descriptor ${vnfdPckgPath} - ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' - Append To List ${vnfd_ids} ${vnfd_id} - - -Create NS Descriptor Test - [Tags] sanity smoke - - Build NS Descriptor ${nsdPckgPath} - ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' - Append To List ${nsd_ids} ${nsd_id} - - -Network Service Instance Test - [Documentation] Launch and terminate network services - [Tags] sanity - - :FOR ${vim_name} IN @{vim} - \ Launch Network Services and Return ${vim_name} - - -Delete NS Instance Test - [Tags] sanity - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - -Delete NS Descriptor Test - [Tags] sanity smoke - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - -Delete VNF Descriptor Test - [Tags] sanity smoke - - :FOR ${vnfd} IN @{vnfd_ids} - \ Delete VNFD ${vnfd} - - -*** Keywords *** -Test Cleanup - [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - :FOR ${vnfd} IN @{vnfd_ids} - \ Delete VNFD ${vnfd} - -# :FOR ${vim_id} IN @{vim} -# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/testsuite/cli/TS02__Test_Vim.robot b/robot-systest/testsuite/cli/TS02__Test_Vim.robot deleted file mode 100644 index 18f2a501..00000000 --- a/robot-systest/testsuite/cli/TS02__Test_Vim.robot +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 06-aug-2019 : Improvement to the code, robot framework initial seed code. -## - - -*** Settings *** -Documentation Test suiet to create/delete vim account via osmclient -Library OperatingSystem -Library Collections -Resource ../../lib/cli/vim_account_lib.robot - - -*** Test Cases *** -Create Vim Account Test - [Tags] smoke vim - - Create Vim Account - - -Get Vim Accounts List Test - [Tags] vim - - Get Vim List - - -Delete Vim Account Test - [Tags] smoke vim - - Delete Vim Account diff --git a/robot-systest/testsuite/cli/TS03__Hackfest_Basic_NS.robot b/robot-systest/testsuite/cli/TS03__Hackfest_Basic_NS.robot deleted file mode 100644 index 40492f71..00000000 --- a/robot-systest/testsuite/cli/TS03__Hackfest_Basic_NS.robot +++ /dev/null @@ -1,108 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-aug-2019 -## - - -*** Settings *** -Documentation Test Suite to create hackfest basic nestwork service -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/vnfd_lib.robot -Resource ../../lib/cli/nsd_lib.robot -Resource ../../lib/cli/ns_lib.robot -Resource ../../lib/cli/vim_account_lib.robot -Library ../../lib/custom_lib.py -Variables ../../resource/cli/hackfest_basic_ns_data.py - -Suite Teardown Run Keyword And Ignore Error Test Cleanup - - -*** Variables *** -@{vnfd_ids} -${nsd_id} -@{nsd_ids} -@{ns_ids} - - -*** Test Cases *** -Create Hackfest Basic VNF Descriptor - [Tags] comprehensive hackfest_basic_ns - - Build VNF Descriptor ${vnfdPckgPath} - ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' - Append To List ${vnfd_ids} ${vnfd_id} - - -Create Hackfest Basic NS Descriptor - [Tags] comprehensive hackfest_basic_ns - - Build NS Descriptor ${nsdPckgPath} - ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' - Append To List ${nsd_ids} ${nsd_id} - - -Network Service Instance Test - [Documentation] Launch and terminate network services - [Tags] comprehensive hackfest_basic_ns - - :FOR ${vim_name} IN @{vim} - \ Launch Network Services and Return ${vim_name} - - -Delete NS Instance Test - [Tags] comprehensive hackfest_basic_ns - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - -Delete NS Descriptor Test - [Tags] comprehensive hackfest_basic_ns - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - -Delete VNF Descriptor Test - [Tags] comprehensive hackfest_basic_ns - - :FOR ${vnfd_id} IN @{vnfd_ids} - \ Delete VNFD ${vnfd_id} - - -*** Keywords *** -Test Cleanup - [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - :FOR ${vnfd} IN @{vnfd_ids} - \ Delete VNFD ${vnfd} - -# :FOR ${vim_id} IN @{vim} -# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/testsuite/cli/TS04__Hackfest_Simplecharm_NS.robot b/robot-systest/testsuite/cli/TS04__Hackfest_Simplecharm_NS.robot deleted file mode 100644 index 2a224788..00000000 --- a/robot-systest/testsuite/cli/TS04__Hackfest_Simplecharm_NS.robot +++ /dev/null @@ -1,113 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-aug-2019 -## - - -*** Settings *** -Documentation Test Suite to create hackfest simplecharm ns -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/vnfd_lib.robot -Resource ../../lib/cli/nsd_lib.robot -Resource ../../lib/cli/ns_lib.robot -Resource ../../lib/cli/vim_account_lib.robot -Library ../../lib/custom_lib.py -Variables ../../resource/cli/hackfest_simplecharm_ns_data.py - -Suite Teardown Run Keyword And Ignore Error Test Cleanup - - -*** Variables *** -@{vnfd_ids} -${nsd_id} -@{nsd_ids} -@{ns_ids} -${vnfdftpPath} https://osm-download.etsi.org/ftp/osm-6.0-six/7th-hackfest/packages/hackfest_simplecharm_vnf.tar.gz -${nsdftpPath} https://osm-download.etsi.org/ftp/osm-6.0-six/7th-hackfest/packages/hackfest_simplecharm_ns.tar.gz - - -*** Test Cases *** -Create Hackfest Simple Charm VNF Descriptor - [Tags] hackfest_simplecharm comprehensive - - #Build VNF Descriptor ${vnfdPckgPath} - #Workarround for charm build issue - ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../..${vnfdPckgPath}${/}build/' ${vnfdftpPath} - ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' - Append To List ${vnfd_ids} ${vnfd_id} - - -Create Hackfest Simple Charm NS Descriptor - [Tags] hackfest_simplecharm comprehensive - - #Build NS Descriptor ${nsdPckgPath} - ${rc} ${stdout}= Run and Return RC and Output wget -P '${CURDIR}${/}../../..${nsdPckgPath}${/}build/' ${nsdftpPath} - ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' - Append To List ${nsd_ids} ${nsd_id} - - -Network Service Instance Test - [Documentation] Launch and terminate network services - [Tags] hackfest_simplecharm comprehensive - - :FOR ${vim_name} IN @{vim} - \ Launch Network Services and Return ${vim_name} - - -Delete NS Instance Test - [Tags] comprehensive hackfest_simplecharm - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - -Delete NS Descriptor Test - [Tags] hackfest_simplecharm comprehensive - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - -Delete VNF Descriptor Test - [Tags] hackfest_simplecharm comprehensive - - :FOR ${vnfd_id} IN @{vnfd_ids} - \ Delete VNFD ${vnfd_id} - - -*** Keywords *** -Test Cleanup - [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - :FOR ${vnfd} IN @{vnfd_ids} - \ Delete VNFD ${vnfd} - -# :FOR ${vim_id} IN @{vim} -# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/testsuite/cli/TS05__Hackfest_Multivdu_NS.robot b/robot-systest/testsuite/cli/TS05__Hackfest_Multivdu_NS.robot deleted file mode 100644 index e3cc4400..00000000 --- a/robot-systest/testsuite/cli/TS05__Hackfest_Multivdu_NS.robot +++ /dev/null @@ -1,108 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-aug-2019 -## - - -*** Settings *** -Documentation Test Suite to create hackfest multivdu ns -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/vnfd_lib.robot -Resource ../../lib/cli/nsd_lib.robot -Resource ../../lib/cli/ns_lib.robot -Resource ../../lib/cli/vim_account_lib.robot -Library ../../lib/custom_lib.py -Variables ../../resource/cli/hackfest_multivdu_ns_data.py - -Suite Teardown Run Keyword And Ignore Error Test Cleanup - - -*** Variables *** -@{vnfd_ids} -${nsd_id} -@{nsd_ids} -@{ns_ids} - - -*** Test Cases *** -Create Hackfest Multivdu VNF Descriptor - [Tags] comprehensive hackfest_multivdu - - Build VNF Descriptor ${vnfdPckgPath} - ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' - Append To List ${vnfd_ids} ${vnfd_id} - - -Create Hackfest Multivdu NS Descriptor - [Tags] comprehensive hackfest_multivdu - - Build NS Descriptor ${nsdPckgPath} - ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' - Append To List ${nsd_ids} ${nsd_id} - - -Network Service Instance Test - [Documentation] Launch and terminate network services - [Tags] comprehensive hackfest_multivdu - - :FOR ${vim_name} IN @{vim} - \ Launch Network Services and Return ${vim_name} - - -Delete NS Instance Test - [Tags] comprehensive hackfest_multivdu - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - -Delete NS Descriptor Test - [Tags] comprehensive hackfest_multivdu - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - -Delete VNF Descriptor Test - [Tags] comprehensive hackfest_multivdu - - :FOR ${vnfd_id} IN @{vnfd_ids} - \ Delete VNFD ${vnfd_id} - - -*** Keywords *** -Test Cleanup - [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - :FOR ${vnfd} IN @{vnfd_ids} - \ Delete VNFD ${vnfd} - -# :FOR ${vim_id} IN @{vim} -# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/testsuite/cli/TS06__Hackfest_Cloudinit_NS.robot b/robot-systest/testsuite/cli/TS06__Hackfest_Cloudinit_NS.robot deleted file mode 100644 index 87bf22f3..00000000 --- a/robot-systest/testsuite/cli/TS06__Hackfest_Cloudinit_NS.robot +++ /dev/null @@ -1,108 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-aug-2019 -## - - -*** Settings *** -Documentation Test Suite to create hackfest cloudinit ns -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/vnfd_lib.robot -Resource ../../lib/cli/nsd_lib.robot -Resource ../../lib/cli/ns_lib.robot -Resource ../../lib/cli/vim_account_lib.robot -Library ../../lib/custom_lib.py -Variables ../../resource/cli/hackfest_cloudinit_ns_data.py - -Suite Teardown Run Keyword And Ignore Error Test Cleanup - - -*** Variables *** -@{vnfd_ids} -${nsd_id} -@{nsd_ids} -@{ns_ids} - - -*** Test Cases *** -Create Hackfest Cloudinit VNF Descriptor - [Tags] comprehensive hackfest_cloudinit - - Build VNF Descriptor ${vnfdPckgPath} - ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' - Append To List ${vnfd_ids} ${vnfd_id} - - -Create Hackfest Cloudinit NS Descriptor - [Tags] comprehensive hackfest_cloudinit - - Build NS Descriptor ${nsdPckgPath} - ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' - Append To List ${nsd_ids} ${nsd_id} - - -Network Service Instance Test - [Documentation] Launch and terminate network services - [Tags] comprehensive hackfest_cloudinit - - :FOR ${vim_name} IN @{vim} - \ Launch Network Services and Return ${vim_name} - - -Delete NS Instance Test - [Tags] comprehensive hackfest_cloudinit - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - -Delete NS Descriptor Test - [Tags] comprehensive hackfest_cloudinit - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - -Delete VNF Descriptor Test - [Tags] comprehensive hackfest_cloudinit - - :FOR ${vnfd_id} IN @{vnfd_ids} - \ Delete VNFD ${vnfd_id} - - -*** Keywords *** -Test Cleanup - [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - :FOR ${vnfd} IN @{vnfd_ids} - \ Delete VNFD ${vnfd} - -# :FOR ${vim_id} IN @{vim} -# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/testsuite/cli/TS07__Hackfest_EPA_NS.robot b/robot-systest/testsuite/cli/TS07__Hackfest_EPA_NS.robot deleted file mode 100644 index 53165985..00000000 --- a/robot-systest/testsuite/cli/TS07__Hackfest_EPA_NS.robot +++ /dev/null @@ -1,108 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Mrityunjay Yadav, Jayant Madavi : MY00514913@techmahindra.com : 06-aug-2019 -## - - -*** Settings *** -Documentation Test Suite to create hackfest epa ns -Library OperatingSystem -Library String -Library Collections -Resource ../../lib/cli/vnfd_lib.robot -Resource ../../lib/cli/nsd_lib.robot -Resource ../../lib/cli/ns_lib.robot -Resource ../../lib/cli/vim_account_lib.robot -Library ../../lib/custom_lib.py -Variables ../../resource/cli/hackfest_epa_ns_data.py - -Suite Teardown Run Keyword And Ignore Error Test Cleanup - - -*** Variables *** -@{vnfd_ids} -${nsd_id} -@{nsd_ids} -@{ns_ids} - - -*** Test Cases *** -Create Hackfest EPA VNF Descriptor - [Tags] hackfest_epa - - Build VNF Descriptor ${vnfdPckgPath} - ${vnfd_id}= Create VNFD '${CURDIR}${/}../../..${vnfdPckgPath}${vnfdPckg}' - Append To List ${vnfd_ids} ${vnfd_id} - - -Create Hackfest EPA NS Descriptor - [Tags] hackfest_epa - - Build NS Descriptor ${nsdPckgPath} - ${nsd_id}= Create NSD '${CURDIR}${/}../../..${nsdPckgPath}${nsdPckg}' - Append To List ${nsd_ids} ${nsd_id} - - -Network Service Instance Test - [Documentation] Launch and terminate network services - [Tags] hackfest_epa - - :FOR ${vim_name} IN @{vim} - \ Launch Network Services and Return ${vim_name} - - -Delete NS Instance Test - [Tags] hackfest_epa - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - -Delete NS Descriptor Test - [Tags] hackfest_epa - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - -Delete VNF Descriptor Test - [Tags] hackfest_epa - - :FOR ${vnfd_id} IN @{vnfd_ids} - \ Delete VNFD ${vnfd_id} - - -*** Keywords *** -Test Cleanup - [Documentation] Test Suit Cleanup: Deliting Descriptor, instance and vim - - :FOR ${ns} IN @{ns_ids} - \ Delete NS ${ns} - - :FOR ${nsd} IN @{nsd_ids} - \ Delete NSD ${nsd} - - :FOR ${vnfd} IN @{vnfd_ids} - \ Delete VNFD ${vnfd} - -# :FOR ${vim_id} IN @{vim} -# \ Delete Vim Account ${vim_id} diff --git a/robot-systest/testsuite/cli/__init__.robot b/robot-systest/testsuite/cli/__init__.robot deleted file mode 100644 index 2d959da1..00000000 --- a/robot-systest/testsuite/cli/__init__.robot +++ /dev/null @@ -1,39 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -*** Settings *** -Library OperatingSystem -Library String -Library Collections -Library ../../lib/custom_lib.py -Resource ../../lib/cli/vim_account_lib.robot - -Suite Setup Wait Until Keyword Succeeds 2x 30sec VIM Setup To Launch Network Services -Suite Teardown Run Keyword And Ignore Error Suite Cleanup - - -*** Variables *** -@{vim} - - -*** Keywords *** -Suite Cleanup - :FOR ${vim_id} IN @{vim} - \ Force Delete Vim Account ${vim_id} \ No newline at end of file diff --git a/robot-systest/testsuite/client_library/TS01__OSMClient_Library_Test.robot b/robot-systest/testsuite/client_library/TS01__OSMClient_Library_Test.robot deleted file mode 100644 index 88d8b5cb..00000000 --- a/robot-systest/testsuite/client_library/TS01__OSMClient_Library_Test.robot +++ /dev/null @@ -1,82 +0,0 @@ -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - - -*** Settings *** -Documentation Test suite to test osmclient python library -Library OperatingSystem - -Suite Setup Setup OSM Client - - -*** Variables *** -${name} helloworld-os -${user} robottest -${password} fred -${authurl} https://169.254.169.245/ -${type} openstack -${desc} a test vim -${tenant} robottest - - -*** Test Cases *** -Get VIM Account List Test - [Tags] comprehensive osmclient_lib - [Documentation] Using python's osmclient library to get vim account list - - ${vim_list}= osmclient.get_vim_list - log to console ${vim_list} - log ${vim_list} - - -Get VNF Descriptor List Test - [Tags] comprehensive osmclient_lib - [Documentation] Using python's osmclient library to get vnfd list - - ${vnfd_list}= osmclient.get_vnfd_list - log to console ${vnfd_list} - log ${vnfd_list} - - -Get NS Descriptor List Test - [Tags] comprehensive osmclient_lib - [Documentation] Using python's osmclient library to get nsd list - - ${nsd_list}= osmclient.get_nsd_list - log to console ${nsd_list} - log ${nsd_list} - - -Create Vim Account Test - [Tags] comprehensive osmclient_lib - [Documentation] Using python's osmclient library to create vim account - [Template] osmclient.create_vim_account - ${name} ${type} ${user} ${password} ${authurl} ${tenant} ${desc} - - -Delete Vim Account Test - [Tags] comprehensive osmclient_lib - [Documentation] Using python's osmclient library to delete vim account - osmclient.delete_vim_account ${name} - - -*** Keywords *** -Setup OSM Client - evaluate sys.path.append('${CURDIR}${/}../../lib/client_lib') modules=sys - ${host}= Get Environment Variable OSM_HOSTNAME 127.0.0.1 - Import Library client_lib.ClientLib host=${host} WITH NAME osmclient diff --git a/robot-systest/testsuite/gui/TS01__Test_GUI_Login.robot b/robot-systest/testsuite/gui/TS01__Test_GUI_Login.robot deleted file mode 100644 index 4f20a180..00000000 --- a/robot-systest/testsuite/gui/TS01__Test_GUI_Login.robot +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- - -## -# Copyright 2019 Tech Mahindra Limited -# -# 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. -## - -## Change log: -# 1. Feature 7829: Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com -## - - -*** Settings *** -Documentation Suite description -Library SeleniumLibrary -Library OperatingSystem -Resource ../../lib/gui/login_gui.robot - - -*** Test Cases *** -Valid Login - [Tags] comprehensive gui_login_test - [Setup] Set Server URL - Open Browser To Login Page - Enter Credentials admin admin - Submit Credentials - Home Page Should Be Open - [Teardown] Close Browser diff --git a/robot-systest/testsuite/hackfest_basic.robot b/robot-systest/testsuite/hackfest_basic.robot new file mode 100644 index 00000000..7e5d3317 --- /dev/null +++ b/robot-systest/testsuite/hackfest_basic.robot @@ -0,0 +1,103 @@ +# 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 *** +Library OperatingSystem +Library String +Library Collections +Library Process +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/connectivity_lib.robot +Resource %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot + +Variables %{ROBOT_DEVOPS_FOLDER}/resources/hackfest_basic_ns_data.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +${ns_id} ${EMPTY} +${username} ubuntu +${password} ${EMPTY} +${vnf_member_index} 1 +${vnf_ip_addr} ${EMPTY} +${ns_config} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] } +# ${ns_config} ${EMPTY} + +*** Test Cases *** +Create Hackfest Basic VNF Descriptor + [Tags] hackfest_basic + + Create VNFD '%{PACKAGES_FOLDER}/${vnfd_pkg}' + + +Create Hackfest Basic NS Descriptor + [Tags] hackfest_basic + + Create NSD '%{PACKAGES_FOLDER}/${nsd_pkg}' + +Network Service Instance Test + [Tags] hackfest_basic + + ${id}= Create Network Service ${nsd_name} %{VIM_TARGET} ${ns_name} ${ns_config} ${publickey} + Set Suite Variable ${ns_id} ${id} + + +Get Vnf Ip Address + [Tags] hackfest_basic + + ${ip_addr} Get Vnf Management Ip Address ${ns_id} ${vnf_member_index} + log ${ip_addr} + Set Suite Variable ${vnf_ip_addr} ${ip_addr} + +Test Ping + [Tags] hackfest_basic + Test Connectivity ${vnf_ip_addr} + +Test SSH Access + [Tags] hackfest_basic + Sleep 30s Waiting ssh daemon to be up + Test SSH Connection ${vnf_ip_addr} ${username} ${password} ${privatekey} + +Delete NS Instance Test + [Tags] hackfest_basic cleanup + + Delete NS ${ns_name} + + +Delete NS Descriptor Test + [Tags] hackfest_basic cleanup + + Delete NSD ${nsd_name} + + +Delete VNF Descriptor Test + [Tags] hackfest_basic cleanup + + Delete VNFD ${vnfd_name} + + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: Deleting Descriptor, instance and vim + + Run Keyword If Test Failed Delete NS ${ns_name} + + Run Keyword If Test Failed Delete NSD ${nsd_name} + + Run Keyword If Test Failed Delete VNFD ${vnfd_name} + + diff --git a/robot-systest/testsuite/hackfest_cloudinit.robot b/robot-systest/testsuite/hackfest_cloudinit.robot new file mode 100644 index 00000000..fff6975a --- /dev/null +++ b/robot-systest/testsuite/hackfest_cloudinit.robot @@ -0,0 +1,110 @@ +# 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 *** +Library OperatingSystem +Library String +Library Collections +Library Process +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/connectivity_lib.robot +Resource %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot + +Variables %{ROBOT_DEVOPS_FOLDER}/resources/hackfest_cloudinit_ns_data.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +${ns_id} ${EMPTY} +${username} ubuntu +${password} ${EMPTY} +${vnf_member_index} 1 +${vnf_ip_addr} ${EMPTY} +${ns_config} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] } +# ${ns_config} ${EMPTY} + +*** Test Cases *** +Create Hackfest Cloudinit VNF Descriptor + [Tags] hackfest_cloudinit + + Create VNFD '%{PACKAGES_FOLDER}/${vnfd_pkg}' + + +Create Hackfest Cloudinit NS Descriptor + [Tags] hackfest_cloudinit + + Create NSD '%{PACKAGES_FOLDER}/${nsd_pkg}' + + +Network Service Instance Test + [Tags] hackfest_cloudinit + + ${id}= Create Network Service ${nsd_name} %{VIM_TARGET} ${ns_name} ${ns_config} ${publickey} + Set Suite Variable ${ns_id} ${id} + + +Get Vnf Ip Address + [Tags] hackfest_cloudinit + + ${ip_addr} Get Vnf Management Ip Address ${ns_id} ${vnf_member_index} + log ${ip_addr} + Set Suite Variable ${vnf_ip_addr} ${ip_addr} + + +Test SSH Access + [Tags] hackfest_cloudinit + + Sleep 30s Waiting ssh daemon to be up + Test SSH Connection ${vnf_ip_addr} ${username} ${password} ${privatekey} + + +Check Remote File Injected Via Cloud-init + [Tags] hackfest_cloudinit + + ${stdout}= Execute Remote Command Check Rc Return Output ${vnf_ip_addr} ${username} ${password} ${privatekey} sudo cat /root/helloworld.txt + log ${stdout} + + +Delete NS Instance Test + [Tags] hackfest_cloudinit cleanup + + Delete NS ${ns_name} + + +Delete NS Descriptor Test + [Tags] hackfest_cloudinit cleanup + + Delete NSD ${nsd_name} + + +Delete VNF Descriptor Test + [Tags] hackfest_cloudinit cleanup + + Delete VNFD ${vnfd_name} + + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: Deleting Descriptor, instance and vim + + Run Keyword If Test Failed Delete NS ${ns_name} + + Run Keyword If Test Failed Delete NSD ${nsd_name} + + Run Keyword If Test Failed Delete VNFD ${vnfd_name} + + diff --git a/robot-systest/testsuite/hackfest_multivdu.robot b/robot-systest/testsuite/hackfest_multivdu.robot new file mode 100644 index 00000000..508d11f4 --- /dev/null +++ b/robot-systest/testsuite/hackfest_multivdu.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 *** +Library OperatingSystem +Library String +Library Collections +Library Process +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/connectivity_lib.robot +Resource %{ROBOT_DEVOPS_FOLDER}/lib/ssh_lib.robot + +Variables %{ROBOT_DEVOPS_FOLDER}/resources/hackfest_multivdu_ns_data.py + +Suite Teardown Run Keyword And Ignore Error Test Cleanup + + +*** Variables *** +${ns_id} ${EMPTY} +${username} osm +${password} osm4u +${vnf_member_index} 1 +${vnf_ip_addr} ${EMPTY} +${ns_config} {vld: [ {name: mgmtnet, vim-network-name: %{VIM_MGMT_NET}} ] } +# ${ns_config} ${EMPTY} + +*** Test Cases *** +Create Hackfest multivdu VNF Descriptor + [Tags] hackfest_multivdu + + Create VNFD '%{PACKAGES_FOLDER}/${vnfd_pkg}' + + +Create Hackfest Multivdu NS Descriptor + [Tags] hackfest_multivdu + + Create NSD '%{PACKAGES_FOLDER}/${nsd_pkg}' + +Network Service Instance Test + [Tags] hackfest_multivdu + + ${status} ${message}= Run Keyword And Ignore Error Variable Should Exist ${publickey} + Run Keyword If "${status}" == "FAIL" Set Global Variable ${publickey} ${EMPTY} + ${id}= Create Network Service ${nsd_name} %{VIM_TARGET} ${ns_name} ${ns_config} ${publickey} + Set Suite Variable ${ns_id} ${id} + + +Get Vnf Ip Address + [Tags] hackfest_multivdu + + ${ip_addr} Get Vnf Management Ip Address ${ns_id} ${vnf_member_index} + log ${ip_addr} + Set Suite Variable ${vnf_ip_addr} ${ip_addr} + +Test Ping + [Tags] hackfest_multivdu + Test Connectivity ${vnf_ip_addr} + +Test SSH Access + [Tags] hackfest_multivdu + Sleep 30s Waiting ssh daemon to be up + ${status} ${message}= Run Keyword And Ignore Error Variable Should Exist ${privatekey} + Run Keyword If "${status}" == "FAIL" Set Global Variable ${privatekey} ${EMPTY} + Test SSH Connection ${vnf_ip_addr} ${username} ${password} ${privatekey} + +Delete NS Instance Test + [Tags] hackfest_multivdu cleanup + + Delete NS ${ns_name} + + +Delete NS Descriptor Test + [Tags] hackfest_multivdu cleanup + + Delete NSD ${nsd_name} + + +Delete VNF Descriptor Test + [Tags] hackfest_multivdu cleanup + + Delete VNFD ${vnfd_name} + + +*** Keywords *** +Test Cleanup + [Documentation] Test Suit Cleanup: Deleting Descriptor, instance and vim + + Run Keyword If Test Failed Delete NS ${ns_name} + + Run Keyword If Test Failed Delete NSD ${nsd_name} + + Run Keyword If Test Failed Delete VNFD ${vnfd_name}