Revert "Feature 11001: Robot framework linting for E2E tests"
[osm/tests.git] / robot-systest / testsuite / quotas_01-quota_enforcement.robot
index 6558c17..f37412d 100644 (file)
@@ -1,4 +1,3 @@
-*** Comments ***
 #   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
@@ -11,7 +10,6 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 
-
 *** Settings ***
 Documentation   [QUOTAS-01] Quota enforcement.
 
@@ -19,151 +17,160 @@ Library   OperatingSystem
 Library   String
 Library   Collections
 
-Resource   ../lib/project_lib.resource
-Resource   ../lib/user_lib.resource
+Resource   %{ROBOT_DEVOPS_FOLDER}/lib/project_lib.robot
+Resource   %{ROBOT_DEVOPS_FOLDER}/lib/user_lib.robot
 
-Test Tags   quotas_01   cluster_main   daily   regression
+Force Tags   quotas_01   cluster_main   daily   regression
 
 Suite Teardown   Run Keyword And Ignore Error   Suite Cleanup
 
 
 *** Variables ***
 # VNFD package to use during test
-${VNFD_PKG}   hackfest_basic_vnf
+${vnfd_pkg}   hackfest_basic_vnf
 
 # Project names and quotas to use
-${PROJECT_1_NAME}   quotas_01_proj_1
-${PROJECT_2_NAME}   quotas_01_proj_2
-${PROJECT_3_NAME}   quotas_01_proj_3
-${PROJECT_1_QUOTAS}   vnfds=1,nsds=2,ns_instances=3
-${PROJECT_2_QUOTAS}   vnfds=1,nsds=1,ns_instances=1
-${PROJECT_3_QUOTAS}   vnfds=5,nsds=,ns_instances=
+${project_1_name}   quotas_01_proj_1
+${project_2_name}   quotas_01_proj_2
+${project_3_name}   quotas_01_proj_3
+${project_1_quotas}   vnfds=1,nsds=2,ns_instances=3
+${project_2_quotas}   vnfds=1,nsds=1,ns_instances=1
+${project_3_quotas}   vnfds=5,nsds=,ns_instances=
 
 # User name and password for project
-${USERNAME}   quotas_01_user
-${USER_PASSWORD}   Quotas_01_pass
-${USER_NEW_PASSWORD}   Quotas_01_new_pass
+${user_name}   quotas_01_user
+${user_password}   Quotas_01_pass
+${user_new_password}   Quotas_01_new_pass
 
-${SUCCESS_RETURN_CODE}   0
+${success_return_code}   0
 
 
 *** Test Cases ***
 Create First Project With Quotas
-    [Documentation]   Create a first project with quotas, then get the project quotas and check that they are correct.
-    Create Project With Quotas   ${PROJECT_1_NAME}   ${PROJECT_1_QUOTAS}
-    ${project_1_vnfds}=   Get Project Quotas   ${PROJECT_1_NAME}   vnfds
+
+    Create Project With Quotas   ${project_1_name}   ${project_1_quotas}
+    ${project_1_vnfds}=   Get Project Quotas   ${project_1_name}   vnfds
     Should Be Equal As Integers   1   ${project_1_vnfds}
-    ${project_1_nsds}=   Get Project Quotas   ${PROJECT_1_NAME}   nsds
+    ${project_1_nsds}=   Get Project Quotas   ${project_1_name}   nsds
     Should Be Equal As Integers   2   ${project_1_nsds}
-    ${project_1_ns_instances}=   Get Project Quotas   ${PROJECT_1_NAME}   ns_instances
+    ${project_1_ns_instances}=   Get Project Quotas   ${project_1_name}   ns_instances
     Should Be Equal As Integers   3   ${project_1_ns_instances}
 
+
 Create Second Project With Quotas
-    [Documentation]   Create a second project with quotas, then get the project quotas and check that they are correct.
-    Create Project With Quotas   ${PROJECT_2_NAME}   ${PROJECT_2_QUOTAS}
-    ${project_2_vnfds}=   Get Project Quotas   ${PROJECT_2_NAME}   vnfds
+
+    Create Project With Quotas   ${project_2_name}   ${project_2_quotas}
+    ${project_2_vnfds}=   Get Project Quotas   ${project_2_name}   vnfds
     Should Be Equal As Integers   1   ${project_2_vnfds}
-    ${project_2_nsds}=   Get Project Quotas   ${PROJECT_2_NAME}   nsds
+    ${project_2_nsds}=   Get Project Quotas   ${project_2_name}   nsds
     Should Be Equal As Integers   1   ${project_2_nsds}
-    ${project_2_ns_instances}=   Get Project Quotas   ${PROJECT_2_NAME}   ns_instances
+    ${project_2_ns_instances}=   Get Project Quotas   ${project_2_name}   ns_instances
     Should Be Equal As Integers   1   ${project_2_ns_instances}
 
 Create User In Projects
-    [Documentation]   Create a user with role project_admin in both projects.
-    ${rc}   ${stdout}=   Run And Return RC And Output   osm user-create ${USERNAME} --password ${USER_PASSWORD} --project-role-mappings ${PROJECT_1_NAME},project_admin --project-role-mappings ${PROJECT_2_NAME},project_admin
-    Log   ${rc},${stdout}
-    Should Be Equal As Integers   ${rc}   ${SUCCESS_RETURN_CODE}
-    Check If User Is Assigned To Project   ${USERNAME}   ${PROJECT_1_NAME}
-    Check If User Is Assigned To Project   ${USERNAME}   ${PROJECT_2_NAME}
-    Update User Password   ${USERNAME}   ${USER_PASSWORD}   ${USER_NEW_PASSWORD}
+
+    ${rc}   ${stdout}=   Run And Return RC And Output   osm user-create ${user_name} --password ${user_password} --project-role-mappings ${project_1_name},project_admin --project-role-mappings ${project_2_name},project_admin
+    Should Be Equal As Integers   ${rc}   ${success_return_code}
+    Check If User Is Assigned To Project   ${user_name}   ${project_1_name}
+    Check If User Is Assigned To Project   ${user_name}   ${project_2_name}
+    Update User Password   ${user_name}   ${user_password}   ${user_new_password}
+
 
 Change First Project Name to Third Project Name
-    [Documentation]   Rename first project. From now on, the project will be considered for the tests a third project.
-    Update Project Name   ${PROJECT_1_NAME}   ${PROJECT_3_NAME}
-    ${project_3_vnfds}=   Get Project Quotas   ${PROJECT_3_NAME}   vnfds
+
+    Update Project Name   ${project_1_name}   ${project_3_name}
+    ${project_3_vnfds}=   Get Project Quotas   ${project_3_name}   vnfds
     Should Be Equal As Integers   1   ${project_3_vnfds}
-    ${project_3_nsds}=   Get Project Quotas   ${PROJECT_3_NAME}   nsds
+    ${project_3_nsds}=   Get Project Quotas   ${project_3_name}   nsds
     Should Be Equal As Integers   2   ${project_3_nsds}
-    ${project_3_ns_instances}=   Get Project Quotas   ${PROJECT_3_NAME}   ns_instances
+    ${project_3_ns_instances}=   Get Project Quotas   ${project_3_name}   ns_instances
     Should Be Equal As Integers   3   ${project_3_ns_instances}
-    Check If User Is Assigned To Project   ${USERNAME}   ${PROJECT_3_NAME}
+    Check If User Is Assigned To Project   ${user_name}   ${project_3_name}
+
 
 Create VNFDs On Third Project Until Exceed Quota
-    [Documentation]   Upload VNF packages in the third project.
-    Create VNFD In Project   ${PROJECT_3_NAME}   '%{PACKAGES_FOLDER}/${VNFD_PKG}'   ${USERNAME}   ${USER_NEW_PASSWORD}   override='id=v1;product-name=v1'
-    Run Keyword And Expect Error   *   Create VNFD In Project   ${PROJECT_3_NAME}   '%{PACKAGES_FOLDER}/${VNFD_PKG}'   ${USERNAME}   ${USER_NEW_PASSWORD}   override='id=v2;product-name=v2'
+
+    Create VNFD In Project   ${project_3_name}   '%{PACKAGES_FOLDER}/${vnfd_pkg}'   ${user_name}   ${user_new_password}   override='id=v1;product-name=v1'
+    Run Keyword And Expect Error   *   Create VNFD In Project   ${project_3_name}   '%{PACKAGES_FOLDER}/${vnfd_pkg}'   ${user_name}   ${user_new_password}   override='id=v2;product-name=v2'
+
 
 Increase Third Project Quotas
-    [Documentation]   Update the quotas of the third project.
-    Update Project Quotas   ${PROJECT_3_NAME}   ${PROJECT_3_QUOTAS}
-    ${project_3_vnfds}=   Get Project Quotas   ${PROJECT_3_NAME}   vnfds
+
+    Update Project Quotas   ${project_3_name}   ${project_3_quotas}
+    ${project_3_vnfds}=   Get Project Quotas   ${project_3_name}   vnfds
     Should Be Equal As Integers   5   ${project_3_vnfds}
 
+
 Create More VNFDs On Third Project Until Exceed Quota
-    [Documentation]   Upload VNF packages in the third project until the quota is reached, so that an error is obtained.
-    Create VNFD In Project   ${PROJECT_3_NAME}   '%{PACKAGES_FOLDER}/${VNFD_PKG}'   ${USERNAME}   ${USER_NEW_PASSWORD}   override='id=v2;product-name=v2'
-    Create VNFD In Project   ${PROJECT_3_NAME}   '%{PACKAGES_FOLDER}/${VNFD_PKG}'   ${USERNAME}   ${USER_NEW_PASSWORD}   override='id=v3;product-name=v3'
-    Create VNFD In Project   ${PROJECT_3_NAME}   '%{PACKAGES_FOLDER}/${VNFD_PKG}'   ${USERNAME}   ${USER_NEW_PASSWORD}   override='id=v4;product-name=v4'
-    Create VNFD In Project   ${PROJECT_3_NAME}   '%{PACKAGES_FOLDER}/${VNFD_PKG}'   ${USERNAME}   ${USER_NEW_PASSWORD}   override='id=v5;product-name=v5'
-    Run Keyword And Expect Error   *   Create VNFD In Project   ${PROJECT_3_NAME}   '%{PACKAGES_FOLDER}/${VNFD_PKG}'   ${USERNAME}   ${USER_NEW_PASSWORD}   override='id=v6;product-name=v6'
+
+    Create VNFD In Project   ${project_3_name}   '%{PACKAGES_FOLDER}/${vnfd_pkg}'   ${user_name}   ${user_new_password}   override='id=v2;product-name=v2'
+    Create VNFD In Project   ${project_3_name}   '%{PACKAGES_FOLDER}/${vnfd_pkg}'   ${user_name}   ${user_new_password}   override='id=v3;product-name=v3'
+    Create VNFD In Project   ${project_3_name}   '%{PACKAGES_FOLDER}/${vnfd_pkg}'   ${user_name}   ${user_new_password}   override='id=v4;product-name=v4'
+    Create VNFD In Project   ${project_3_name}   '%{PACKAGES_FOLDER}/${vnfd_pkg}'   ${user_name}   ${user_new_password}   override='id=v5;product-name=v5'
+    Run Keyword And Expect Error   *   Create VNFD In Project   ${project_3_name}   '%{PACKAGES_FOLDER}/${vnfd_pkg}'   ${user_name}   ${user_new_password}   override='id=v6;product-name=v6'
+
 
 Create VNFDs On Second Project Until Exceed Quota
-    [Documentation]   Upload VNF packages in the second project until the quota is reached, so that an error is obtained.
-    Create VNFD In Project   ${PROJECT_2_NAME}   '%{PACKAGES_FOLDER}/${VNFD_PKG}'   ${USERNAME}   ${USER_NEW_PASSWORD}   override='id=vp2_1;product-name=vp2_1'
-    Run Keyword And Expect Error   *   Create VNFD In Project   ${PROJECT_2_NAME}   '%{PACKAGES_FOLDER}/${VNFD_PKG}'   ${USERNAME}   ${USER_NEW_PASSWORD}   override='id=vp2_2;product-name=vp2_2'
+
+    Create VNFD In Project   ${project_2_name}   '%{PACKAGES_FOLDER}/${vnfd_pkg}'   ${user_name}   ${user_new_password}   override='id=vp2_1;product-name=vp2_1'
+    Run Keyword And Expect Error   *   Create VNFD In Project   ${project_2_name}   '%{PACKAGES_FOLDER}/${vnfd_pkg}'   ${user_name}   ${user_new_password}   override='id=vp2_2;product-name=vp2_2'
+
 
 Check Project Scopes
-    [Documentation]   Check that the user can see a VNF package in both projects.
-    ${rc}   ${stdout}=   Run And Return RC And Output   osm --project ${PROJECT_3_NAME} --password ${USER_NEW_PASSWORD} --user ${USERNAME} vnfpkg-show vp2_1
+
+    ${rc}   ${stdout}=   Run And Return RC And Output   osm --project ${project_3_name} --password ${user_new_password} --user ${user_name} vnfpkg-show vp2_1
     Log   ${stdout}
-    Should Not Be Equal As Integers   ${rc}   ${SUCCESS_RETURN_CODE}
-    ${rc}   ${stdout}=   Run And Return RC And Output   osm --project ${PROJECT_2_NAME} --password ${USER_NEW_PASSWORD} --user ${USERNAME} vnfpkg-show v1
+    Should Not Be Equal As Integers   ${rc}   ${success_return_code}
+    ${rc}   ${stdout}=   Run And Return RC And Output   osm --project ${project_2_name} --password ${user_new_password} --user ${user_name} vnfpkg-show v1
     Log   ${stdout}
-    Should Not Be Equal As Integers   ${rc}   ${SUCCESS_RETURN_CODE}
+    Should Not Be Equal As Integers   ${rc}   ${success_return_code}
+
 
 Delete Second Project VNFD
-    [Documentation]   Delete VNF packages from second project.
     [Tags]   cleanup
-    Delete VNFD In Project   ${PROJECT_2_NAME}   vp2_1   ${USERNAME}   ${USER_NEW_PASSWORD}
+
+    Delete VNFD In Project   ${project_2_name}   vp2_1   ${user_name}   ${user_new_password}
+
 
 Delete Third Project VNFDs
-    [Documentation]   Delete VNF packages from third project.
     [Tags]   cleanup
-    Delete VNFD In Project   ${PROJECT_3_NAME}   v1   ${USERNAME}   ${USER_NEW_PASSWORD}
-    Delete VNFD In Project   ${PROJECT_3_NAME}   v2   ${USERNAME}   ${USER_NEW_PASSWORD}
-    Delete VNFD In Project   ${PROJECT_3_NAME}   v3   ${USERNAME}   ${USER_NEW_PASSWORD}
-    Delete VNFD In Project   ${PROJECT_3_NAME}   v4   ${USERNAME}   ${USER_NEW_PASSWORD}
-    Delete VNFD In Project   ${PROJECT_3_NAME}   v5   ${USERNAME}   ${USER_NEW_PASSWORD}
+
+    Delete VNFD In Project   ${project_3_name}   v1   ${user_name}   ${user_new_password}
+    Delete VNFD In Project   ${project_3_name}   v2   ${user_name}   ${user_new_password}
+    Delete VNFD In Project   ${project_3_name}   v3   ${user_name}   ${user_new_password}
+    Delete VNFD In Project   ${project_3_name}   v4   ${user_name}   ${user_new_password}
+    Delete VNFD In Project   ${project_3_name}   v5   ${user_name}   ${user_new_password}
+
 
 Delete Second Project After Removing User From It
-    [Documentation]   Delete user from second project, then delete the second project.
     [Tags]   cleanup
-    Run Keyword And Expect Error   *   Delete Project   ${PROJECT_2_NAME}
-    Remove User From Project   ${USERNAME}   ${PROJECT_2_NAME}
-    Delete Project   ${PROJECT_2_NAME}
+
+    Run Keyword And Expect Error   *   Delete Project   ${project_2_name}
+    Remove User From Project   ${user_name}   ${project_2_name}
+    Delete Project   ${project_2_name}
+
 
 Delete Projects User
-    [Documentation]   Delete user.
     [Tags]   cleanup
-    ${rc}=   Run And Return RC   osm user-delete ${USERNAME}
-    Log   ${rc}
+
+    ${rc}=   Run And Return RC   osm user-delete ${user_name}
+
 
 Delete Third Project
-    [Documentation]   Delete third project.
     [Tags]   cleanup
-    Delete Project   ${PROJECT_3_NAME}
+
+    Delete Project   ${project_3_name}
 
 
 *** Keywords ***
 Suite Cleanup
-    [Documentation]   Test Suite Cleanup: Deleting VNF packages, projects and users.
-    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete VNFD In Project   ${PROJECT_2_NAME}   vp2_1   ${USERNAME}   ${USER_NEW_PASSWORD}
-    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete VNFD In Project   ${PROJECT_3_NAME}   v1   ${USERNAME}   ${USER_NEW_PASSWORD}
-    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete VNFD In Project   ${PROJECT_3_NAME}   v2   ${USERNAME}   ${USER_NEW_PASSWORD}
-    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete VNFD In Project   ${PROJECT_3_NAME}   v3   ${USERNAME}   ${USER_NEW_PASSWORD}
-    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete VNFD In Project   ${PROJECT_3_NAME}   v4   ${USERNAME}   ${USER_NEW_PASSWORD}
-    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete VNFD In Project   ${PROJECT_3_NAME}   v5   ${USERNAME}   ${USER_NEW_PASSWORD}
-    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete Project   ${PROJECT_1_NAME}
-    Run Keyword If Any Tests Failed   Delete Project   ${PROJECT_2_NAME}
-    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete Project   ${PROJECT_3_NAME}
-    Run And Return RC   osm user-delete ${USERNAME}
+    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete VNFD In Project   ${project_2_name}   vp2_1   ${user_name}   ${user_new_password}
+    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete VNFD In Project   ${project_3_name}   v1   ${user_name}   ${user_new_password}
+    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete VNFD In Project   ${project_3_name}   v2   ${user_name}   ${user_new_password}
+    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete VNFD In Project   ${project_3_name}   v3   ${user_name}   ${user_new_password}
+    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete VNFD In Project   ${project_3_name}   v4   ${user_name}   ${user_new_password}
+    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete VNFD In Project   ${project_3_name}   v5   ${user_name}   ${user_new_password}
+    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete Project   ${project_1_name}
+    Run Keyword If Any Tests Failed   Delete Project   ${project_2_name}
+    Run Keyword If Any Tests Failed   Run Keyword And Ignore Error   Delete Project   ${project_3_name}
+    Run And Return RC   osm user-delete ${user_name}