blob: 4d45c776c76a29d48592787a9cb57b16a035255a [file] [log] [blame]
*** 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}