Decapod UI¶
Decapod conftest¶
Contains fixtures specific for Decapod (UI testing).
-
whale.decapod_ui.conftest.auth_steps(decapod)[source]¶ Get auth steps to login or logout in decapod.
-
whale.decapod_ui.conftest.login(auth_steps)[source]¶ Login to decapod.
Majority of tests requires user login. Logs out after test.
-
whale.decapod_ui.conftest.ui_cluster_steps(decapod, login)[source]¶ Function fixture to get cluster steps.
Parameters: - decapod (Decapod) – instatiated decapod application
- login (None) – user should log in before cluster actions
Returns: instantiated cluster steps
Return type:
-
whale.decapod_ui.conftest.ui_configuration_steps(decapod, login)[source]¶ Function fixture to get configuration steps.
Parameters: - decapod (Decapod) – instantiated decapod web application
- login (None) – should log in decapod before steps using
Returns: instantiated configuration steps
Return type: ConfigurationSteps
-
whale.decapod_ui.conftest.ui_role_steps(decapod, login)[source]¶ Function fixture to get role steps.
Parameters: - login (None) – should log in decapod before steps using
- decapod (Decapod) – instantiated decapod web application
Returns: Instantiated role steps
Return type:
-
whale.decapod_ui.conftest.ui_user_steps(decapod, login)[source]¶ Function fixture to get user steps.
Parameters: - login (None) – should log in decapod before steps using
- decapod (Decapod) – instantiated decapod web application
Returns: Instantiated user steps
Return type:
Decapod steps¶
Contains steps specific for decapod (UI testing).
-
class
whale.decapod_ui.steps.AuthSteps(app)[source]¶ Authentication steps.
-
class
whale.decapod_ui.steps.ClusterSteps(app)[source]¶ Cluster steps.
-
create_cluster(name=None, check=True)[source]¶ Step to create cluster.
Parameters: - name (str, optional) – name of cluster
- check (bool, optional) – flag whether to check step or not
Returns: cluster name
Return type: str
Raises: Exception– if cluster is not present on page
-
update_cluster(name, new_name=None, check=True)[source]¶ Step to create cluster.
Parameters: - name (str) – name of cluster to be updated
- new_name (str, optional) – name of cluster after update
- check (bool, optional) – flag whether to check step or not
Returns: cluster name
Return type: str
Raises: Exception– if cluster name was not changed
-
-
class
whale.decapod_ui.steps.RoleSteps(app)[source]¶ Role steps.
-
create_role(role_name=None, check=True)[source]¶ Step to create role.
Parameters: - role_name (str) – role name
- check (bool, optional) – flag whether to check step or not
Returns: role name
Return type: str
Raises: Exception– if role is not present on page
-
delete_role(role_name, check=True)[source]¶ Step to delete role.
Parameters: - role_name (str) – role name
- check (bool, optional) – flag whether to check step or not
Raises: Exception– if role is present on page
-
update_role(role_name, new_role_name=None, api_permissions=None, playbook_permissions=None, check=True)[source]¶ Step to update role.
Parameters: - role_name (str) – role name
- new_role_name (str|None) – new role name
- api_permissions (list|None) – list of api permissions
- playbook_permissions (list|None) – list of playbook permissions
- check (bool, optional) – flag whether to check step or not
Returns: role name
Return type: str
Raises: Exception– if role is not present on page
-
-
class
whale.decapod_ui.steps.UserSteps(app)[source]¶ User steps.
-
create_user(role_name, login=None, full_name=None, check=True)[source]¶ Step to create user.
Parameters: - role_name (str) – role name of user
- login (str, optional) – login of user
- full_name (str, optional) – full name of user
- check (bool, optional) – flag whether to check step or not
Returns: user login
Return type: str
Raises: Exception– if user is not present on page
-
delete_user(login, check=True)[source]¶ Step to delete user.
Parameters: - login (str) – login of user to be deleted
- check (bool, optional) – flag whether to check step or not
Raises: Exception– if user is present on page
-
update_user(login, new_login=None, new_full_name=None, new_email=None, new_role_name=None, check=True)[source]¶ Step to update user.
Parameters: - login (str, optional) – login of user to be changed
- new_login (str, optional) – new login of user
- new_full_name (str, optional) – new full name of user
- new_email (str, optional) – new email of user
- new_role_name (str, optional) – new role of user
- check (bool, optional) – flag whether to check step or not
Returns: user login
Return type: str
Raises: Exception– if check failed
-
Decapod tests¶
Auth tests¶
Cluster tests¶
Playbook configuration tests¶
-
whale.decapod_ui.tests.test_configuration.test_create_config_deploy_cluster(cluster, playbook_steps, server_steps, playbook_config_steps, ui_configuration_steps)[source]¶ Scenario: Playbook configuration may be created in UI.
Setup:
- Create cluster via API
Steps:
- Get servers list via API
- Find playbook name by ID using API
- Create playbook cluster deploy configuration via UI
Teardown:
- Delete playbook configuration via API
- Delete cluster via API
-
whale.decapod_ui.tests.test_configuration.test_delete_config(playbook_config_deploy, ui_configuration_steps)[source]¶ Scenario: Playbook configuration may be deleted in UI.
Setup:
- Create cluster via API
- Create playbook cluster deploy configuration via API
Steps:
- Delete playbook cluster deploy configuration via UI
Teardown:
- Delete cluster via API
-
whale.decapod_ui.tests.test_configuration.test_update_config_cluster_name(playbook_config_deploy, cluster_steps, ui_configuration_steps)[source]¶ Scenario: Playbook configuration may be updated in UI.
Setup:
- Create cluster via API
- Create playbook cluster deploy configuration via API
Steps:
- Create second cluster via API
- Update cluster name of playbook configuration using UI
Teardown:
- Delete playbook configuration via API
- Delete clusters via API
Execution tests¶
-
whale.decapod_ui.tests.test_execution.test_create_execution_deploy_cluster(playbook_config_deploy, execution_steps, ui_configuration_steps)[source]¶ Scenario: Execution for cluster deployment may be created in UI.
Setup:
- Create cluster via API
- Create playbook cluster deploy configuration via API
Steps:
- Create execution via UI
- Check execution was successfully completed via API
Teardown:
- Delete playbook configuration via API
- Delete cluster via API
-
whale.decapod_ui.tests.test_execution.test_create_execution_purge_cluster(cluster_steps, deploy_cluster, playbook_config_steps, execution_steps, ui_configuration_steps)[source]¶ Scenario: Execution for cluster deletion may be created in UI.
Setup:
- Create cluster via API
- Create playbook configuration for cluster deployment via API
- Create execution for cluster deployment via API
Steps:
- Create playbook configuration for cluster deletion via API
- Create execution for cluster deletion via UI
- Check cluster has been deleted
Teardown:
- Delete playbook configurations
User UI tests¶
-
whale.decapod_ui.tests.test_user.test_create_user(role, user_steps, ui_user_steps)[source]¶ Scenario: User may be created in UI.
Setup:
- Create role using API
Steps:
- Create user via UI
- Find user by login via API
Teardown:
- Delete user via API
- Delete role using API
-
whale.decapod_ui.tests.test_user.test_delete_user(user, ui_user_steps)[source]¶ Scenario: User may be deleted in UI.
Setup:
- Create role using API
- Create user via API
Steps:
- Delete user via UI
Teardown:
- Delete role using API
-
whale.decapod_ui.tests.test_user.test_update_user(user, role_steps, user_steps, ui_user_steps)[source]¶ Scenario: User may be updated in UI.
Setup:
- Create role using API
- Create user via API
Steps:
- Create new role using API
- Update user login, full name, email and role via UI
- Find user by login via API
Teardown:
- Delete user via API
- Delete created roles using API