| *** 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 |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| |
| *** Settings *** |
| Documentation [BASIC-15] RBAC Configurations. |
| |
| Library OperatingSystem |
| Library String |
| Library Collections |
| |
| Resource ../lib/user_lib.resource |
| Resource ../lib/project_lib.resource |
| Resource ../lib/role_lib.resource |
| |
| Test Tags basic_15 cluster_main daily regression azure |
| |
| Suite Teardown Run Keyword And Ignore Error Suite Cleanup |
| |
| |
| *** Variables *** |
| # User, project and roles to use |
| ${USERNAME} basic_15_test_user |
| ${USER_PASSWORD} Basic_15_user_pass |
| ${USER_NEW_PASSWORD} Basic_15_new_pass |
| ${USER_ROLE} project_user |
| ${USER_PROJECT} admin |
| ${PROJECT_NAME} basic_15_test_project |
| ${NEW_PROJECT_NAME} basic_15_project_test |
| ${ROLE_NAME} test_role |
| ${SUCCESS_RETURN_CODE} 0 |
| |
| |
| *** Test Cases *** |
| Create And Validate User |
| [Documentation] Create a user in OSM. |
| Create User ${USERNAME} ${USER_PASSWORD} |
| Check If User Exists ${USERNAME} |
| |
| Assign Role To User |
| [Documentation] Assign a user to a project with a role |
| Update User Role ${USERNAME} ${USER_PROJECT} ${USER_ROLE} |
| Check If User Is Assigned To Project ${USERNAME} ${USER_PROJECT} |
| Check If User Has Role ${USERNAME} ${USER_ROLE} ${USER_PROJECT} |
| |
| Run Action As User |
| [Documentation] Update the password of the user. |
| Update User Password ${USERNAME} ${USER_PASSWORD} ${USER_NEW_PASSWORD} |
| ${rc} ${stdout}= Run And Return RC And Output OSM_USER=${USERNAME} OSM_PROJECT=${USER_PROJECT} OSM_PASSWORD=${USER_NEW_PASSWORD} osm ns-list |
| Log ${rc} |
| Log ${stdout} |
| Should Be Equal As Integers ${rc} ${SUCCESS_RETURN_CODE} |
| |
| Create And Update Project |
| [Documentation] Create a project and update its name. |
| Create Project ${PROJECT_NAME} |
| Update Project Name ${PROJECT_NAME} ${NEW_PROJECT_NAME} |
| |
| Create And Validate Role |
| [Documentation] Create a role and check that exists in OSM. |
| Create Role ${ROLE_NAME} |
| Check If Role Exists ${ROLE_NAME} |
| |
| Update Role Information |
| [Documentation] Update a role with a capability. |
| Update Role ${ROLE_NAME} add='vims: true' |
| Check If Role Exists ${ROLE_NAME} |
| |
| Delete Allocated Resources |
| [Documentation] Delete user, project and role. |
| [Tags] cleanup |
| Delete User ${USERNAME} |
| Delete Project ${NEW_PROJECT_NAME} |
| Delete Role ${ROLE_NAME} |
| |
| |
| *** Keywords *** |
| Suite Cleanup |
| [Documentation] Test Suite Cleanup: Deleting users, roles and projects. |
| Run Keyword If Any Tests Failed Run Keyword And Ignore Error Delete User ${USERNAME} |
| Run Keyword If Any Tests Failed Run Keyword And Ignore Error Delete Role ${ROLE_NAME} |
| Run Keyword If Any Tests Failed Run Keyword And Ignore Error Delete Project ${PROJECT_NAME} |
| Run Keyword If Any Tests Failed Run Keyword And Ignore Error Delete Project ${NEW_PROJECT_NAME} |