Feature 11001: Robot framework linting for E2E tests
[osm/tests.git] / robot-systest / lib / package_lib.resource
diff --git a/robot-systest/lib/package_lib.resource b/robot-systest/lib/package_lib.resource
new file mode 100644 (file)
index 0000000..b563463
--- /dev/null
@@ -0,0 +1,67 @@
+*** Comments ***
+# Copyright ETSI Contributors and Others.
+#
+# 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   Library providing keywords for building, validating and uploading tar.gz NS and VNF package files with OSM client.
+Library   String
+Library   OperatingSystem
+
+
+*** Variables ***
+${SUCCESS_RETURN_CODE}   0
+
+
+*** Keywords ***
+Upload Package
+    [Documentation]   Onboards ("creates") a NF Package into OSM.
+    ...               - Parameters:
+    ...                 - pkg: Name (and location) of the NF Package
+    [Arguments]   ${pkg}
+    # Proceeds with the onboarding with the appropriate arguments
+    ${rc}   ${stdout}=   Run And Return Rc And Output   tar -czf ${pkg}.tar.gz -C ${pkg} .
+    Log   ${rc},${stdout}
+    ${rc}   ${stdout}=   Run And Return Rc And Output   osm upload-package ${pkg}.tar.gz
+    Log   ${rc},${stdout}
+    Should Be Equal As Integers   ${rc}   ${SUCCESS_RETURN_CODE}
+    RETURN   ${stdout}
+
+Delete Package
+    [Documentation]   Delete a tar.gz package passed as argument from the filesystem.
+    [Arguments]   ${pkg}
+    # Proceeds with the onboarding with the appropriate arguments
+    ${rc}   ${stdout}=   Run And Return Rc And Output   rm ${pkg}.tar.gz
+    Log   ${rc},${stdout}
+
+Package Build
+    [Documentation]   Build the package NS, VNF given the package_folder
+    [Arguments]   ${pkg_folder}   ${skip_charm_build}=${EMPTY}
+    ${skip_charm}=   Set Variable If   "${skip_charm_build}" != "${EMPTY}"   "--skip-charm-build"   ${EMPTY}
+    ${rc}   ${stdout}=   Run And Return Rc And Output   osm package-build ${pkg_folder} ${skip_charm}
+    Should Be Equal As Integers   ${rc}   ${SUCCESS_RETURN_CODE}
+    Should Contain   ${stdout}   Package created
+    ${package}=   Get Line   ${stdout}   -1
+    RETURN   ${package}
+
+Package Validate
+    [Documentation]   Validate descriptors given a base directory
+    [Arguments]   ${pkg_folder}
+    ${rc}   ${stdout}=   Run And Return Rc And Output   osm package-validate ${pkg_folder} | awk -F\| '$2 !~ /-/ && $4 ~ /OK|ERROR/ {print $4}'
+    Should Be Equal As Integers   ${rc}   ${SUCCESS_RETURN_CODE}
+    Should Contain   ${stdout}   'OK'
+    ${package}=   Get Line   ${stdout}   -1
+    RETURN   ${package}