From: Gabriel Cuba Date: Thu, 23 Nov 2023 23:11:42 +0000 (-0500) Subject: OSM Repo library for robot tests X-Git-Tag: release-v15.0-start~11 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=58cc2072b52a59957be00f831eaaed7fcb96217c;p=osm%2Ftests.git OSM Repo library for robot tests Change-Id: I8fb5dca98f9be2f209b157e5bb074c8e2e096174 Signed-off-by: Gabriel Cuba --- diff --git a/README.md b/README.md index 9fbd3cd..aecb43e 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,9 @@ export VIM_TARGET= export VIM_MGMT_NET= export OS_CLOUD= # OpenStack Cloud defined in $HOME/.config/openstack/clouds.yaml or in /etc/openstack/clouds.yaml export K8S_CREDENTIALS= # path to the kubeconfig file of the K8s cluster to be tested +export OCI_REGISTRY_URL= # URL of the OCI registry where helm charts used in test packages are stored. +export OCI_REGISTRY_USER= # User of the OCI registry +export OCI_REGISTRY_PASSWORD= # Password of the OCI registry ``` ### Running the tests diff --git a/envconfig-local.rc b/envconfig-local.rc index a1bbf62..02cc023 100644 --- a/envconfig-local.rc +++ b/envconfig-local.rc @@ -38,3 +38,7 @@ export SDNC_PASSWORD= export SDNC_TYPE= export SDNC_URL= +# OCI registry variables required for tests that uses OCI artifacts +export OCI_REGISTRY_URL= +export OCI_REGISTRY_USER= +export OCI_REGISTRY_PASSWORD= \ No newline at end of file diff --git a/robot-systest/lib/repo_lib.robot b/robot-systest/lib/repo_lib.robot new file mode 100644 index 0000000..8237b18 --- /dev/null +++ b/robot-systest/lib/repo_lib.robot @@ -0,0 +1,52 @@ +# 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 Library to deploy and delete OSM repos. + + +*** Variables *** +${success_return_code} 0 + +*** Keywords *** +Get Repos List + ${rc} ${stdout}= Run and Return RC and Output osm repo-list + Log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + + +Create Repo + [Arguments] ${repo_name} ${repo_uri} ${repo_type} ${user} ${password} ${additional_options}="" + + ${user_attr} Set Variable If '${user}'!='${EMPTY}' --user ${user} \ + ${password_attr} Set Variable If '${password}'!='${EMPTY}' --password ${password} \ + + ${rc} ${stdout}= Run and Return RC and Output osm repo-add --type ${repo_type} ${user_attr} ${password_attr} ${additional_options} ${repo_name} ${repo_uri} + Log ${stdout} + Should Be Equal As Integers ${rc} ${success_return_code} + [Return] ${stdout} + + +Delete Repo + [Arguments] ${repo_id} + + ${rc} ${stdout}= Run Keyword And Continue On Failure Run and Return RC and Output osm repo-delete ${repo_id} + Should Be Equal As Integers ${rc} ${success_return_code} + Log ${stdout} + WAIT UNTIL KEYWORD SUCCEEDS ${delete_max_wait_time} ${delete_pol_time} Check For NSD ${repo_id} + + +Check For Repo + [Arguments] ${repo_id} + + ${rc} ${stdout}= Run and Return RC and Output osm repo-list | awk '{print $2}' | grep ${repo_id} + Should Not Be Equal As Strings ${stdout} ${repo_id}