From a7bb217b15fc7a881978f3637d16ce7c52edd714 Mon Sep 17 00:00:00 2001 From: Oscar Barrios Date: Tue, 20 Aug 2024 12:30:27 +0200 Subject: [PATCH] Using a new user per feature, to facilitate parallelization of secondary_parallelizable.yml in CI (#5743) * Using a new user per feature * Removing refactors made to enable parallel tests, moved to this branch qe-refactor-enabling-parallel-tests * Updating the Copyright year --- .../secondary/allcli_config_channel.feature | 8 ++-- .../allcli_overview_systems_details.feature | 15 +++---- .../features/secondary/allcli_reboot.feature | 14 +++---- .../allcli_software_channels.feature | 6 +-- ...cli_software_channels_dependencies.feature | 6 +-- .../secondary/allcli_system_group.feature | 10 ++--- .../buildhost_docker_build_image.feature | 16 ++++---- .../buildhost_osimage_build_image.feature | 6 ++- .../secondary/min_activationkey.feature | 4 +- .../min_ansible_control_node.feature | 12 +++--- .../secondary/min_bootstrap_api.feature | 8 ++-- .../secondary/min_bootstrap_negative.feature | 6 +-- .../min_bootstrap_reactivation.feature | 8 ++-- .../secondary/min_bootstrap_script.feature | 10 ++--- .../secondary/min_bootstrap_ssh_key.feature | 6 +-- .../min_change_software_channel.feature | 6 +-- .../min_check_patches_install.feature | 2 +- .../min_config_state_channel.feature | 8 ++-- ...config_state_channel_subscriptions.feature | 8 ++-- .../min_custom_pkg_download_endpoint.feature | 4 +- .../secondary/min_cve_id_new_syntax.feature | 6 +-- .../secondary/min_deblike_monitoring.feature | 10 ++--- .../min_deblike_remote_command.feature | 6 ++- .../min_deblike_salt_install_package.feature | 12 +++--- .../secondary/min_deblike_ssh.feature | 10 ++--- .../features/secondary/min_docker_api.feature | 4 +- .../min_empty_system_profiles.feature | 6 +-- .../features/secondary/min_monitoring.feature | 11 +++-- .../min_move_from_and_to_proxy.feature | 14 +++---- .../secondary/min_project_lotus.feature | 14 +++---- .../secondary/min_recurring_action.feature | 22 +++++----- .../secondary/min_retracted_patches.feature | 14 +++---- .../secondary/min_rhlike_monitoring.feature | 10 ++--- .../min_rhlike_openscap_audit.feature | 2 +- .../min_rhlike_remote_command.feature | 6 ++- ...ike_salt_install_package_and_patch.feature | 10 ++--- .../features/secondary/min_rhlike_ssh.feature | 10 ++--- .../secondary/min_salt_formulas.feature | 14 +++---- .../min_salt_formulas_advanced.feature | 6 +-- .../min_salt_install_package.feature | 4 +- .../secondary/min_salt_lock_packages.feature | 18 ++++---- .../min_salt_mgrcompat_state.feature | 12 +++--- .../secondary/min_salt_minion_details.feature | 8 ++-- .../secondary/min_salt_minions_page.feature | 6 +-- .../secondary/min_salt_pkgset_beacon.feature | 4 +- .../secondary/min_salt_user_states.feature | 8 ++-- .../features/secondary/min_ssh_tunnel.feature | 8 ++-- .../features/secondary/minkvm_guests.feature | 4 +- .../secondary/minssh_action_chain.feature | 7 ++-- .../minssh_ansible_control_node.feature | 10 ++--- .../secondary/minssh_bootstrap_api.feature | 8 ++-- .../minssh_move_from_and_to_proxy.feature | 10 ++--- .../minssh_salt_install_package.feature | 4 +- .../proxy_traditional_cobbler_pxeboot.feature | 10 ++--- .../proxy_traditional_retail_pxeboot.feature | 12 +++--- .../secondary/srv_advanced_search.feature | 6 +-- .../secondary/srv_change_password.feature | 4 +- .../secondary/srv_check_channels_page.feature | 6 +-- .../srv_check_sync_source_packages.feature | 6 +-- .../secondary/srv_clone_channel_npn.feature | 6 +-- .../secondary/srv_content_lifecycle.feature | 4 +- .../secondary/srv_custom_system_info.feature | 6 +-- .../features/secondary/srv_datepicker.feature | 4 +- .../srv_delete_channel_from_ui.feature | 6 +-- .../srv_delete_channel_with_tool.feature | 6 +-- .../srv_dist_channel_mapping.feature | 6 +-- .../srv_group_union_intersection.feature | 6 +-- ...handle_config_channels_with_ISS_v2.feature | 4 +- ...ndle_software_channels_with_ISS_v2.feature | 4 +- .../secondary/srv_maintenance_windows.feature | 6 +-- .../srv_manage_activationkey.feature | 6 +-- .../srv_manage_channels_page.feature | 6 +-- .../secondary/srv_notifications.feature | 6 +-- .../secondary/srv_patches_page.feature | 6 +-- .../secondary/srv_push_package.feature | 6 +-- .../secondary/srv_task_status_engine.feature | 6 +-- ...srv_user_configuration_salt_states.feature | 5 ++- .../srv_virtual_host_manager.feature | 6 +-- .../step_definitions/navigation_steps.rb | 6 ++- testsuite/features/support/api_test.rb | 41 +++++++++++++++---- testsuite/features/support/commonlib.rb | 14 +++++++ testsuite/features/support/env.rb | 20 ++++++++- 82 files changed, 380 insertions(+), 311 deletions(-) diff --git a/testsuite/features/secondary/allcli_config_channel.feature b/testsuite/features/secondary/allcli_config_channel.feature index 4a0c8291c774..f8b06ef5ddfa 100644 --- a/testsuite/features/secondary/allcli_config_channel.feature +++ b/testsuite/features/secondary/allcli_config_channel.feature @@ -1,11 +1,11 @@ -# Copyright (c) 2018-2022 SUSE LLC +# Copyright (c) 2018-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_configuration_channels Feature: Management of configuration of all types of clients in a single channel - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Create a configuration channel for mixed client types When I follow the left menu "Configuration > Channels" @@ -164,7 +164,7 @@ Feature: Management of configuration of all types of clients in a single channel And I click on "Compare Files" And I click on "Schedule Compare" Then I should see a "1 files scheduled for comparison." text - When I wait until event "Show differences between profiled config files and deployed config files scheduled by admin" is completed + When I wait until event "Show differences between profiled config files and deployed config files scheduled" is completed Then I should see a "Differences exist" link When I follow "Differences exist" Then I should see a "+COLOR=white" text diff --git a/testsuite/features/secondary/allcli_overview_systems_details.feature b/testsuite/features/secondary/allcli_overview_systems_details.feature index 8ed7bdcc31a5..0a41037de286 100644 --- a/testsuite/features/secondary/allcli_overview_systems_details.feature +++ b/testsuite/features/secondary/allcli_overview_systems_details.feature @@ -1,18 +1,19 @@ -# Copyright (c) 2017-2022 SUSE LLC. +# Copyright (c) 2017-2024 SUSE LLC. # Licensed under the terms of the MIT license. @scope_visualization Feature: The system details of each minion and client provides an overview of the system - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized + @sle_minion Scenario: SLE minion hardware refresh Given I navigate to the Systems overview page of this "sle_minion" When I follow "Hardware" And I click on "Schedule Hardware Refresh" Then I should see a "You have successfully scheduled a hardware profile refresh" text - When I wait until event "Hardware List Refresh scheduled by admin" is completed + When I wait until event "Hardware List Refresh scheduled" is completed And I wait until there is no Salt job calling the module "hardware.profileupdate" on "sle_minion" @sle_minion @@ -34,7 +35,7 @@ Feature: The system details of each minion and client provides an overview of th When I follow "Hardware" And I click on "Schedule Hardware Refresh" Then I should see a "You have successfully scheduled a hardware profile refresh" text - When I wait until event "Hardware List Refresh scheduled by admin" is completed + When I wait until event "Hardware List Refresh scheduled" is completed And I wait until there is no Salt job calling the module "hardware.profileupdate" on "rhlike_minion" @rhlike_minion @@ -56,7 +57,7 @@ Feature: The system details of each minion and client provides an overview of th When I follow "Hardware" And I click on "Schedule Hardware Refresh" Then I should see a "You have successfully scheduled a hardware profile refresh" text - When I wait until event "Hardware List Refresh scheduled by admin" is completed + When I wait until event "Hardware List Refresh scheduled" is completed And I wait until there is no Salt job calling the module "hardware.profileupdate" on "deblike_minion" @deblike_minion @@ -78,7 +79,7 @@ Feature: The system details of each minion and client provides an overview of th When I follow "Hardware" And I click on "Schedule Hardware Refresh" Then I should see a "You have successfully scheduled a hardware profile refresh" text - And I wait until event "Hardware List Refresh scheduled by admin" is completed + And I wait until event "Hardware List Refresh scheduled" is completed @ssh_minion Scenario: SSH-managed minion grains are displayed correctly on the details page diff --git a/testsuite/features/secondary/allcli_reboot.feature b/testsuite/features/secondary/allcli_reboot.feature index 48e7aa72afeb..fd40371cdec6 100644 --- a/testsuite/features/secondary/allcli_reboot.feature +++ b/testsuite/features/secondary/allcli_reboot.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2017-2022 SUSE LLC. +# Copyright (c) 2017-2024 SUSE LLC. # Licensed under the terms of the MIT license. # # Idempotency note: @@ -14,7 +14,7 @@ # - features/secondary/min_deblike_openscap_audit.feature # - features/secondary/min_deblike_remote_command.feature # - features/secondary/min_deblike_ssh.feature -# If the minions take over the alloted 10 minutes to reboot, +# If the minions take over the alloted 10 minutes to reboot, # the following features could fail due to the minions not being reachable. # Depending on how long they take to reboot, even more features could fail. @@ -22,8 +22,8 @@ @scope_onboarding Feature: Reboot systems managed by Uyuni - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized @ssh_minion Scenario: Reboot the SSH-managed SLES minion @@ -41,7 +41,7 @@ Feature: Reboot systems managed by Uyuni And I should see a "Reboot system" button And I click on "Reboot system" Then I should see a "Reboot scheduled for system" text - When I wait at most 600 seconds until event "System reboot scheduled by admin" is completed + When I wait at most 600 seconds until event "System reboot scheduled" is completed And I should see a "Reboot completed." text @rhlike_minion @@ -52,7 +52,7 @@ Feature: Reboot systems managed by Uyuni And I should see a "Reboot system" button When I click on "Reboot system" Then I should see a "Reboot scheduled for system" text - When I wait at most 600 seconds until event "System reboot scheduled by admin" is completed + When I wait at most 600 seconds until event "System reboot scheduled" is completed Then I should see a "Reboot completed." text @deblike_minion @@ -63,5 +63,5 @@ Feature: Reboot systems managed by Uyuni And I should see a "Reboot system" button When I click on "Reboot system" Then I should see a "Reboot scheduled for system" text - When I wait at most 600 seconds until event "System reboot scheduled by admin" is completed + When I wait at most 600 seconds until event "System reboot scheduled" is completed Then I should see a "Reboot completed." text diff --git a/testsuite/features/secondary/allcli_software_channels.feature b/testsuite/features/secondary/allcli_software_channels.feature index 1607aedb989a..1682f14e8860 100644 --- a/testsuite/features/secondary/allcli_software_channels.feature +++ b/testsuite/features/secondary/allcli_software_channels.feature @@ -5,8 +5,8 @@ @scc_credentials Feature: Channel subscription via SSM - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized @sle_minion @susemanager @@ -102,7 +102,7 @@ Feature: Channel subscription via SSM @sle_minion Scenario: Check channel change has completed for the SLES minion Given I am on the Systems overview page of this "sle_minion" - When I wait until event "Subscribe channels scheduled by admin" is completed + When I wait until event "Subscribe channels scheduled" is completed Then I should see "The client completed this action on" at least 3 minutes after I scheduled an action @sle_minion diff --git a/testsuite/features/secondary/allcli_software_channels_dependencies.feature b/testsuite/features/secondary/allcli_software_channels_dependencies.feature index 73f73dd4bbf2..83b606b9f353 100644 --- a/testsuite/features/secondary/allcli_software_channels_dependencies.feature +++ b/testsuite/features/secondary/allcli_software_channels_dependencies.feature @@ -1,12 +1,12 @@ -# Copyright (c) 2018-2023 SUSE LLC +# Copyright (c) 2018-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_changing_software_channels @scc_credentials Feature: Channel subscription with recommended or required dependencies - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Pre-requisite: remove remaining systems from SSM after software channel tests When I click on the clear SSM button diff --git a/testsuite/features/secondary/allcli_system_group.feature b/testsuite/features/secondary/allcli_system_group.feature index 99e3b6941773..7217eda969df 100644 --- a/testsuite/features/secondary/allcli_system_group.feature +++ b/testsuite/features/secondary/allcli_system_group.feature @@ -1,12 +1,12 @@ -# Copyright (c) 2017-2022 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @scope_visualization Feature: Manage a group of systems - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Fail to create a group with only its name When I follow the left menu "Systems > System Groups" @@ -62,7 +62,7 @@ Feature: Manage a group of systems And I should see "sle_minion" as link #container already has locale formula installed - @skip_if_containerized_server + @skip_if_containerized_server Scenario: Install the locale formula package on the server When I manually install the "locale" formula on the server @@ -106,7 +106,7 @@ Feature: Manage a group of systems # Red Hat-like minion is intentionally not removed from group - @skip_if_containerized_server + @skip_if_containerized_server Scenario: Cleanup: uninstall formula from the server When I manually uninstall the "locale" formula from the server diff --git a/testsuite/features/secondary/buildhost_docker_build_image.feature b/testsuite/features/secondary/buildhost_docker_build_image.feature index 8456a4215933..b3f837370895 100644 --- a/testsuite/features/secondary/buildhost_docker_build_image.feature +++ b/testsuite/features/secondary/buildhost_docker_build_image.feature @@ -1,11 +1,11 @@ -# Copyright (c) 2017-2023 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. # # Basic images do not contain zypper nor the name of the server, # so the inspect functionality is not tested here. # # This feature is a dependency for: -# - features/secondary/srv_docker_cve_audit.feature +# - features/secondary/srv_docker_cve_audit.feature # # This feature depends on: # - features/secondary/min_docker_api.feature @@ -19,8 +19,8 @@ @no_auth_registry Feature: Build container images - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Create a simple image profile without activation key When I follow the left menu "Images > Profiles" @@ -59,7 +59,7 @@ Feature: Build container images Scenario: Build the suse_key image with and without activation key Given I am on the Systems overview page of this "build_host" When I schedule the build of image "suse_key" via API calls - And I wait at most 660 seconds until event "Image Build suse_key scheduled by admin" is completed + And I wait at most 660 seconds until event "Image Build suse_key scheduled" is completed # We should see the same result via API. # Also, check that all inspect actions are finished: And I wait at most 600 seconds until image "suse_key" with version "latest" is built successfully via API @@ -70,15 +70,15 @@ Feature: Build container images Scenario: Build the suse_simple image with and without activation key Given I am on the Systems overview page of this "build_host" When I schedule the build of image "suse_simple" via API calls - And I wait at most 660 seconds until event "Image Build suse_simple scheduled by admin" is completed + And I wait at most 660 seconds until event "Image Build suse_simple scheduled" is completed And I wait at most 600 seconds until image "suse_simple" with version "latest" is built successfully via API And I wait at most 300 seconds until image "suse_simple" with version "latest" is inspected successfully via API Then the list of packages of image "suse_simple" with version "latest" is not empty Scenario: Build the suse_real_key image with and without activation key - Given I am on the Systems overview page of this "build_host" + Given I am on the Systems overview page of this "build_host" When I schedule the build of image "suse_real_key" via API calls - And I wait at most 660 seconds until event "Image Build suse_real_key scheduled by admin" is completed + And I wait at most 660 seconds until event "Image Build suse_real_key scheduled" is completed And I wait at most 60 seconds until all "3" container images are built correctly on the Image List page And I wait at most 600 seconds until image "suse_real_key" with version "latest" is built successfully via API And I wait at most 300 seconds until image "suse_real_key" with version "latest" is inspected successfully via API diff --git a/testsuite/features/secondary/buildhost_osimage_build_image.feature b/testsuite/features/secondary/buildhost_osimage_build_image.feature index a563ab062008..162d65ac1493 100644 --- a/testsuite/features/secondary/buildhost_osimage_build_image.feature +++ b/testsuite/features/secondary/buildhost_osimage_build_image.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2018-2023 SUSE LLC +# Copyright (c) 2018-2024 SUSE LLC # Licensed under the terms of the MIT license. # # This feature relies on having properly configured @@ -22,8 +22,10 @@ @scope_building_container_images Feature: Build OS images + Scenario: Log in as org admin user + Given I am authorized + Scenario: Create an OS image profile with activation key - Given I am authorized for the "Admin" section When I follow the left menu "Images > Profiles" And I follow "Create" And I enter "suse_os_image" as "label" diff --git a/testsuite/features/secondary/min_activationkey.feature b/testsuite/features/secondary/min_activationkey.feature index 22eabc903dd2..502087de131d 100644 --- a/testsuite/features/secondary/min_activationkey.feature +++ b/testsuite/features/secondary/min_activationkey.feature @@ -9,8 +9,8 @@ @scope_onboarding Feature: Bootstrap a Salt minion via the GUI with an activation key - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Delete SLES minion system profile Given I am on the Systems overview page of this "sle_minion" diff --git a/testsuite/features/secondary/min_ansible_control_node.feature b/testsuite/features/secondary/min_ansible_control_node.feature index e29bddb17be2..4c764a56cb4f 100644 --- a/testsuite/features/secondary/min_ansible_control_node.feature +++ b/testsuite/features/secondary/min_ansible_control_node.feature @@ -1,12 +1,12 @@ -# Copyright (c) 2021-2023 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @scope_ansible Feature: Operate an Ansible control node in a normal minion - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Pre-requisite: Deploy test playbooks and inventory file When I deploy testing playbooks and inventory files to "sle_minion" @@ -33,7 +33,7 @@ Feature: Operate an Ansible control node in a normal minion Given I am on the Systems overview page of this "sle_minion" When I follow "States" in the content area And I click on "Apply Highstate" - And I wait until event "Apply highstate scheduled by admin" is completed + And I wait until event "Apply highstate scheduled" is completed Then "ansible" should be installed on "sle_minion" Scenario: The Ansible tab appears in the system overview page @@ -78,7 +78,7 @@ Feature: Operate an Ansible control node in a normal minion And I select "/srv/playbooks/orion_dummy/hosts" from "inventory-path-select" And I click on "Schedule" Then I should see a "Playbook execution has been scheduled" text - And I wait until event "Execute playbook 'playbook_orion_dummy.yml' scheduled by admin" is completed + And I wait until event "Execute playbook 'playbook_orion_dummy.yml' scheduled" is completed And file "/tmp/file.txt" should exist on "sle_minion" Scenario: Cleanup: Disable Ansible and remove test playbooks and inventory file @@ -100,4 +100,4 @@ Feature: Operate an Ansible control node in a normal minion Scenario: Cleanup: Disable client tools repositories Given I am on the Systems overview page of this "sle_minion" When I disable the repositories "tools_pool_repo os_pool_repo" on this "sle_minion" - And I refresh the metadata for "sle_minion" \ No newline at end of file + And I refresh the metadata for "sle_minion" diff --git a/testsuite/features/secondary/min_bootstrap_api.feature b/testsuite/features/secondary/min_bootstrap_api.feature index 70e342b2fd86..4787a770b538 100644 --- a/testsuite/features/secondary/min_bootstrap_api.feature +++ b/testsuite/features/secondary/min_bootstrap_api.feature @@ -9,8 +9,8 @@ @scope_onboarding Feature: Register a Salt minion via API - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Delete SLES minion system profile before API bootstrap test Given I am on the Systems overview page of this "sle_minion" @@ -62,7 +62,7 @@ Feature: Register a Salt minion via API Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed @uyuni Scenario: API bootstrap: subscribe to base channel @@ -83,7 +83,7 @@ Feature: Register a Salt minion via API Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed Scenario: Check events history for failures on SLES minion after API bootstrap Given I am on the Systems overview page of this "sle_minion" diff --git a/testsuite/features/secondary/min_bootstrap_negative.feature b/testsuite/features/secondary/min_bootstrap_negative.feature index 255753d9635b..1159fd730a78 100644 --- a/testsuite/features/secondary/min_bootstrap_negative.feature +++ b/testsuite/features/secondary/min_bootstrap_negative.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -9,8 +9,8 @@ Feature: Negative tests for bootstrapping normal minions As an authorized user I want to avoid registration with invalid input parameters - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Bootstrap should fail when minion already exists When I follow the left menu "Systems > Bootstrapping" diff --git a/testsuite/features/secondary/min_bootstrap_reactivation.feature b/testsuite/features/secondary/min_bootstrap_reactivation.feature index 3baf8f8e8eb4..71ae661e5d52 100644 --- a/testsuite/features/secondary/min_bootstrap_reactivation.feature +++ b/testsuite/features/secondary/min_bootstrap_reactivation.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2023 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -9,8 +9,8 @@ Feature: Bootstrapping with reactivation key As an authorized user I want to avoid re-registration with invalid input parameters - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Generate a re-activation key Given I am on the Systems overview page of this "sle_minion" @@ -63,7 +63,7 @@ Feature: Bootstrapping with reactivation key When I follow "Events" in the content area And I follow "History" in the content area And I wait until I see "Server reactivated as Salt minion" text, refreshing the page - And I wait until event "Apply states [certs, channels, packages, services.salt-minion] scheduled by admin" is completed + And I wait until event "Apply states [certs, channels, packages, services.salt-minion] scheduled" is completed Scenario: Cleanup: delete SLES minion after reactivation tests Given I am on the Systems overview page of this "sle_minion" diff --git a/testsuite/features/secondary/min_bootstrap_script.feature b/testsuite/features/secondary/min_bootstrap_script.feature index cdb857a6ea29..64ed59002b24 100644 --- a/testsuite/features/secondary/min_bootstrap_script.feature +++ b/testsuite/features/secondary/min_bootstrap_script.feature @@ -18,8 +18,8 @@ Feature: Register a Salt minion with a bootstrap script 2) subscribe minion to a base channels 3) install and remove a package - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Delete SLES minion system profile before script bootstrap test Given I am on the Systems overview page of this "sle_minion" @@ -59,7 +59,7 @@ Feature: Register a Salt minion with a bootstrap script Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed @uyuni Scenario: Subscribe the script-bootstrapped SLES minion to a base channel @@ -75,7 +75,7 @@ Feature: Register a Salt minion with a bootstrap script Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed Scenario: Install a package to the script-bootstrapped SLES minion Given I am on the Systems overview page of this "sle_minion" @@ -87,7 +87,7 @@ Feature: Register a Salt minion with a bootstrap script And I click on "Install Selected Packages" And I click on "Confirm" Then I should see a "1 package install has been scheduled for" text - When I wait until event "Package Install/Upgrade scheduled by admin" is completed + When I wait until event "Package Install/Upgrade scheduled" is completed Then "orion-dummy-1.1-1.1" should be installed on "sle_minion" Scenario: Run a remote command on normal SLES minion diff --git a/testsuite/features/secondary/min_bootstrap_ssh_key.feature b/testsuite/features/secondary/min_bootstrap_ssh_key.feature index c7629720ca51..a255a200b63e 100644 --- a/testsuite/features/secondary/min_bootstrap_ssh_key.feature +++ b/testsuite/features/secondary/min_bootstrap_ssh_key.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2023 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. # # @@ -10,8 +10,8 @@ @scope_onboarding Feature: Bootstrap a Salt minion via the GUI using SSH key - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Delete SLES minion system profile before bootstrap with SSH key test Given I am on the Systems overview page of this "sle_minion" diff --git a/testsuite/features/secondary/min_change_software_channel.feature b/testsuite/features/secondary/min_change_software_channel.feature index 68d0088c3aea..08e8db0a324e 100644 --- a/testsuite/features/secondary/min_change_software_channel.feature +++ b/testsuite/features/secondary/min_change_software_channel.feature @@ -11,8 +11,8 @@ @sle_minion Feature: Assign child channel to a system - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized @susemanager Scenario: Check the system is still subscribed to old channels before channel change completes @@ -80,7 +80,7 @@ Feature: Assign child channel to a system Scenario: Check channel change has completed for the system Given I am on the Systems overview page of this "sle_minion" - When I wait until event "Subscribe channels scheduled by admin" is completed + When I wait until event "Subscribe channels scheduled" is completed Then I should see a "The client completed this action on" text @susemanager diff --git a/testsuite/features/secondary/min_check_patches_install.feature b/testsuite/features/secondary/min_check_patches_install.feature index c0ee28c9722d..e0fd71898409 100644 --- a/testsuite/features/secondary/min_check_patches_install.feature +++ b/testsuite/features/secondary/min_check_patches_install.feature @@ -4,7 +4,7 @@ @scope_onboarding Feature: Display patches - Scenario: Log in as admin user + Scenario: Log in as org admin user Given I am authorized for the "Admin" section Scenario: Pre-require: enable old packages to fake a possible installation diff --git a/testsuite/features/secondary/min_config_state_channel.feature b/testsuite/features/secondary/min_config_state_channel.feature index 761bf589737c..855bc516a0df 100644 --- a/testsuite/features/secondary/min_config_state_channel.feature +++ b/testsuite/features/secondary/min_config_state_channel.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2018-2023 SUSE LLC. +# Copyright (c) 2018-2024 SUSE LLC. # Licensed under the terms of the MIT license. # # This feature can cause failures in the following features when running in sequential: @@ -11,8 +11,8 @@ Feature: Configuration state channels In order to configure systems through Salt I want to be able to use the state channels - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Create a state channel When I follow the left menu "Configuration > Channels" @@ -54,7 +54,7 @@ Feature: Configuration state channels Then I should see a "Execute States" button When I click on "Execute States" Then I should see a "Applying the config channels has been scheduled" text - When I wait until event "Apply states [custom] scheduled by admin" is completed + When I wait until event "Apply states [custom] scheduled" is completed And I wait until file "/root/foobar" exists on "sle_minion" Scenario: Try to remove init.sls file diff --git a/testsuite/features/secondary/min_config_state_channel_subscriptions.feature b/testsuite/features/secondary/min_config_state_channel_subscriptions.feature index 5ecc586d1d71..ef124286e12b 100644 --- a/testsuite/features/secondary/min_config_state_channel_subscriptions.feature +++ b/testsuite/features/secondary/min_config_state_channel_subscriptions.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2018-2021 SUSE LLC. +# Copyright (c) 2018-2024 SUSE LLC. # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -8,8 +8,8 @@ Feature: State Configuration channels In order to configure systems through Salt I want to be able to use channels from the state tab - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Create the 1st state channel When I follow the left menu "Configuration > Channels" @@ -74,7 +74,7 @@ Feature: State Configuration channels And I wait until I see "Execute States" text When I click on "Execute States" Then I should see a "Applying the config channels has been scheduled" text - When I wait until event "Apply states [custom] scheduled by admin" is completed + When I wait until event "Apply states [custom] scheduled" is completed And I wait until file "/root/statechannel" exists on "sle_minion" And I wait until file "/root/statechannel2" exists on "sle_minion" diff --git a/testsuite/features/secondary/min_custom_pkg_download_endpoint.feature b/testsuite/features/secondary/min_custom_pkg_download_endpoint.feature index 3ffdfee5761a..960d0ae08460 100644 --- a/testsuite/features/secondary/min_custom_pkg_download_endpoint.feature +++ b/testsuite/features/secondary/min_custom_pkg_download_endpoint.feature @@ -8,8 +8,8 @@ @custom_download_endpoint Feature: Repos file generation based on custom pillar data - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized @susemanager Scenario: Select the channels of the SLES minion diff --git a/testsuite/features/secondary/min_cve_id_new_syntax.feature b/testsuite/features/secondary/min_cve_id_new_syntax.feature index 681721fb08bc..7d74f6082332 100644 --- a/testsuite/features/secondary/min_cve_id_new_syntax.feature +++ b/testsuite/features/secondary/min_cve_id_new_syntax.feature @@ -1,11 +1,11 @@ -# Copyright (c) 2015-2022 SUSE LLC +# Copyright (c) 2015-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_cve_audit Feature: Support for new CVE-ID syntax - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Check perseus-dummy-7891 patches When I follow the left menu "Patches > Patch List > All" diff --git a/testsuite/features/secondary/min_deblike_monitoring.feature b/testsuite/features/secondary/min_deblike_monitoring.feature index 720b453a7484..fde588686c73 100644 --- a/testsuite/features/secondary/min_deblike_monitoring.feature +++ b/testsuite/features/secondary/min_deblike_monitoring.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2022-2004 SUSE LLC # Licensed under the terms of the MIT license. # This feature depends on: # - features/secondary/srv_monitoring.feature: as this feature disables/re-enables monitoring capabilities @@ -16,8 +16,8 @@ Feature: Monitor SUMA environment with Prometheus on a Debian-like Salt minion Scenario: Pre-requisite: enable Prometheus exporters repository on the Debian-like minion When I enable the necessary repositories before installing Prometheus exporters on this "deblike_minion" - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Apply Prometheus exporter formulas on the Debian-like minion Given I am on the Systems overview page of this "deblike_minion" @@ -43,7 +43,7 @@ Feature: Monitor SUMA environment with Prometheus on a Debian-like Salt minion When I follow "States" in the content area And I click on "Apply Highstate" Then I should see a "Applying the highstate has been scheduled." text - And I wait until event "Apply highstate scheduled by admin" is completed + And I wait until event "Apply highstate scheduled" is completed Scenario: Visit monitoring endpoints on the Debian-like minion When I wait until "node" exporter service is active on "deblike_minion" @@ -63,7 +63,7 @@ Feature: Monitor SUMA environment with Prometheus on a Debian-like Salt minion When I follow "States" in the content area And I click on "Apply Highstate" Then I should see a "Applying the highstate has been scheduled." text - And I wait until event "Apply highstate scheduled by admin" is completed + And I wait until event "Apply highstate scheduled" is completed Scenario: Cleanup: disable Prometheus exporters repository on the Debian-like minion When I disable the necessary repositories before installing Prometheus exporters on this "deblike_minion" without error control diff --git a/testsuite/features/secondary/min_deblike_remote_command.feature b/testsuite/features/secondary/min_deblike_remote_command.feature index 42975413bc3a..9231dbf49ff9 100644 --- a/testsuite/features/secondary/min_deblike_remote_command.feature +++ b/testsuite/features/secondary/min_deblike_remote_command.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. # Skip if container. This test is broken @@ -12,8 +12,10 @@ Feature: Remote command on Debian-like Salt minion As an authorized user I want to run a remote command on it + Scenario: Log in as org admin user + Given I am authorized + Scenario: Run a remote command on the Debian-like minion - Given I am authorized for the "Admin" section When I follow the left menu "Salt > Remote Commands" Then I should see a "Remote Commands" text in the content area When I enter command "cat /etc/os-release" diff --git a/testsuite/features/secondary/min_deblike_salt_install_package.feature b/testsuite/features/secondary/min_deblike_salt_install_package.feature index 85d41e9f90af..3320e938e6bf 100644 --- a/testsuite/features/secondary/min_deblike_salt_install_package.feature +++ b/testsuite/features/secondary/min_deblike_salt_install_package.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2019-2022 SUSE LLC +# Copyright (c) 2019-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -6,8 +6,8 @@ @deblike_minion Feature: Install and upgrade package on the Debian-like minion via Salt through the UI - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Pre-requisite: install virgo-dummy-1.0 package on Debian-like minion When I enable repository "test_repo_deb_pool" on this "deblike_minion" @@ -18,7 +18,7 @@ Feature: Install and upgrade package on the Debian-like minion via Salt through And I follow "Software" in the content area And I click on "Update Package List" And I follow "Events" in the content area - And I wait until I do not see "Package List Refresh scheduled by admin" text, refreshing the page + And I wait until I do not see "Package List Refresh scheduled" text, refreshing the page And I wait until package "virgo-dummy" is installed on "deblike_minion" via spacecmd And I wait until package "andromeda-dummy" is removed from "deblike_minion" via spacecmd @@ -29,7 +29,7 @@ Feature: Install and upgrade package on the Debian-like minion via Salt through And I click on "Install Selected Packages" And I click on "Confirm" And I should see a "1 package install has been scheduled for" text - When I wait until event "Package Install/Upgrade scheduled by admin" is completed + When I wait until event "Package Install/Upgrade scheduled" is completed Then Deb package "andromeda-dummy" with version "2.0" should be installed on "deblike_minion" Scenario: Update a package on the Debian-like minion @@ -40,7 +40,7 @@ Feature: Install and upgrade package on the Debian-like minion via Salt through And I click on "Upgrade Packages" And I click on "Confirm" And I should see a "1 package upgrade has been scheduled for" text - When I wait until event "Package Install/Upgrade scheduled by admin" is completed + When I wait until event "Package Install/Upgrade scheduled" is completed Then Deb package "virgo-dummy" with version "2.0" should be installed on "deblike_minion" Scenario: Cleanup: remove virgo-dummy and andromeda-dummy packages from Debian-like minion diff --git a/testsuite/features/secondary/min_deblike_ssh.feature b/testsuite/features/secondary/min_deblike_ssh.feature index 7353a58975b8..a88f179cfcde 100644 --- a/testsuite/features/secondary/min_deblike_ssh.feature +++ b/testsuite/features/secondary/min_deblike_ssh.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2017-2023 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. # # 1) delete Debian-like minion and register as SSH minion @@ -18,8 +18,8 @@ @deblike_minion Feature: Bootstrap a SSH-managed Debian-like minion and do some basic operations on it - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Delete the Debian-like minion When I am on the Systems overview page of this "deblike_minion" @@ -69,7 +69,7 @@ Feature: Bootstrap a SSH-managed Debian-like minion and do some basic operations Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed Scenario: Check events history for failures on SSH-managed Debian-like minion Given I am on the Systems overview page of this "deblike_minion" @@ -125,4 +125,4 @@ Feature: Bootstrap a SSH-managed Debian-like minion and do some basic operations Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed diff --git a/testsuite/features/secondary/min_docker_api.feature b/testsuite/features/secondary/min_docker_api.feature index b146fd46ff2a..01405072e044 100644 --- a/testsuite/features/secondary/min_docker_api.feature +++ b/testsuite/features/secondary/min_docker_api.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2017-2023 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. # # Note: image building via API is not tested here @@ -30,7 +30,7 @@ Feature: API "image" namespace for containers and sub-namespaces And I set and get profile details via API Scenario: Cleanup: remove custom system info - Given I am authorized for the "Admin" section + Given I am authorized When I follow the left menu "Systems > Custom System Info" And I follow "arancio" And I follow "Delete Key" diff --git a/testsuite/features/secondary/min_empty_system_profiles.feature b/testsuite/features/secondary/min_empty_system_profiles.feature index ea72c68242c9..6018a299f752 100644 --- a/testsuite/features/secondary/min_empty_system_profiles.feature +++ b/testsuite/features/secondary/min_empty_system_profiles.feature @@ -1,11 +1,11 @@ -# Copyright (c) 2018-2022 SUSE LLC +# Copyright (c) 2018-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_onboarding Feature: Empty minion profile operations - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Create an empty minion profile with HW address via API When I call system.create_system_profile() with name "empty-profile" and HW address "00:11:22:33:44:55" diff --git a/testsuite/features/secondary/min_monitoring.feature b/testsuite/features/secondary/min_monitoring.feature index 39d99c263559..c62cad461eba 100644 --- a/testsuite/features/secondary/min_monitoring.feature +++ b/testsuite/features/secondary/min_monitoring.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2022-2024 SUSE LLC # Licensed under the terms of the MIT license. # This feature depends on: # - features/secondary/srv_monitoring.feature : As this feature disable/re-enable monitoring capabilities @@ -16,9 +16,8 @@ Feature: Monitor SUMA environment with Prometheus on a SLE Salt minion When I enable the necessary repositories before installing Prometheus exporters on this "sle_minion" And I refresh the metadata for "sle_minion" - - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Apply Prometheus and Prometheus exporter formulas Given I am on the Systems overview page of this "sle_minion" @@ -54,7 +53,7 @@ Feature: Monitor SUMA environment with Prometheus on a SLE Salt minion When I follow "States" in the content area And I click on "Apply Highstate" Then I should see a "Applying the highstate has been scheduled." text - And I wait until event "Apply highstate scheduled by admin" is completed + And I wait until event "Apply highstate scheduled" is completed Scenario: Visit monitoring endpoints on the minion When I wait until "prometheus" service is active on "sle_minion" @@ -77,7 +76,7 @@ Feature: Monitor SUMA environment with Prometheus on a SLE Salt minion And I follow "States" in the content area And I click on "Apply Highstate" Then I should see a "Applying the highstate has been scheduled." text - And I wait until event "Apply highstate scheduled by admin" is completed + And I wait until event "Apply highstate scheduled" is completed Scenario: Cleanup: disable Prometheus exporters repository When I disable the necessary repositories before installing Prometheus exporters on this "sle_minion" without error control diff --git a/testsuite/features/secondary/min_move_from_and_to_proxy.feature b/testsuite/features/secondary/min_move_from_and_to_proxy.feature index 8080bde260bb..302bb6ebf6a6 100644 --- a/testsuite/features/secondary/min_move_from_and_to_proxy.feature +++ b/testsuite/features/secondary/min_move_from_and_to_proxy.feature @@ -1,12 +1,12 @@ -# Copyright (c) 2021-2023 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. @sle_minion @proxy Feature: Move a minion from a proxy to direct connection - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Delete minion system profile before bootstrap Given I am on the Systems overview page of this "sle_minion" @@ -57,8 +57,8 @@ Feature: Move a minion from a proxy to direct connection And I wait until I see "scheduled" text And I follow "Events" And I follow "History" - And I wait until I see the event "Apply states [bootstrap.set_proxy] scheduled by admin" completed during last minute, refreshing the page - And I wait until I see the event "Apply states [channels] scheduled by admin" completed during last minute, refreshing the page + And I wait until I see the event "Apply states [bootstrap.set_proxy] scheduled" completed during last minute, refreshing the page + And I wait until I see the event "Apply states [channels] scheduled" completed during last minute, refreshing the page Scenario: Check direct connection Given I am on the Systems overview page of this "sle_minion" @@ -83,8 +83,8 @@ Feature: Move a minion from a proxy to direct connection Given I am on the Systems overview page of this "sle_minion" And I follow "Events" And I follow "History" - And I wait until I see the event "Apply states [bootstrap.set_proxy] scheduled by admin" completed during last minute, refreshing the page - And I wait until I see the event "Apply states [channels] scheduled by admin" completed during last minute, refreshing the page + And I wait until I see the event "Apply states [bootstrap.set_proxy] scheduled" completed during last minute, refreshing the page + And I wait until I see the event "Apply states [channels] scheduled" completed during last minute, refreshing the page Scenario: Check registration on proxy of minion Given I am on the Systems overview page of this "proxy" diff --git a/testsuite/features/secondary/min_project_lotus.feature b/testsuite/features/secondary/min_project_lotus.feature index 374f8136f794..8802dc62a5ca 100644 --- a/testsuite/features/secondary/min_project_lotus.feature +++ b/testsuite/features/secondary/min_project_lotus.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2023-2024 SUSE LLC # Licensed under the terms of the MIT license. @sle_minion @@ -9,8 +9,8 @@ Feature: Project Lotus As an authorized user I want to be able to install and remove them through the WebUI - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Pre-requisite: Create custom channel for PTFs When I follow the left menu "Software > Manage > Channels" @@ -74,7 +74,7 @@ Feature: Project Lotus And I click on "Install PTFs" And I click on "Confirm" Then I should see a "The action has been scheduled" text - And I wait until event "Package Install/Upgrade scheduled by admin" is completed + And I wait until event "Package Install/Upgrade scheduled" is completed Scenario: Remove PTF through PTFs tab Given I am on the Systems overview page of this "sle_minion" @@ -85,7 +85,7 @@ Feature: Project Lotus And I click on "Remove PTFs" And I click on "Confirm" Then I should see a "The action has been scheduled" text - And I wait until event "Package Removal scheduled by admin" is completed + And I wait until event "Package Removal scheduled" is completed Scenario: Install PTF through Packages tab Given I am on the Systems overview page of this "sle_minion" @@ -98,7 +98,7 @@ Feature: Project Lotus And I click on "Install Selected Packages" And I click on "Confirm" Then I should see a "1 package install has been scheduled for" text - And I wait until event "Package Install/Upgrade scheduled by admin" is completed + And I wait until event "Package Install/Upgrade scheduled" is completed Scenario: Remove PTF through Packages tab Given I am on the Systems overview page of this "sle_minion" @@ -111,7 +111,7 @@ Feature: Project Lotus And I click on "Remove Packages" And I click on "Confirm" Then I should see a "1 package removal has been scheduled for" text - And I wait until event "Package Removal scheduled by admin" is completed + And I wait until event "Package Removal scheduled" is completed Scenario: Cleanup: Delete custom channel for PTFs When I follow the left menu "Software > Manage > Channels" diff --git a/testsuite/features/secondary/min_recurring_action.feature b/testsuite/features/secondary/min_recurring_action.feature index 078ce54e6239..2dbaf5c4f9cc 100644 --- a/testsuite/features/secondary/min_recurring_action.feature +++ b/testsuite/features/secondary/min_recurring_action.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2020-2023 SUSE LLC +# Copyright (c) 2020-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -41,7 +41,7 @@ Feature: Recurring Actions And I should see a "Minion" text When I follow "Events" And I follow "History" - Then I wait until I see the event "Apply recurring states [manager_org_1.statechannel-recurring] scheduled by admin" completed during last minute, refreshing the page + Then I wait until I see the event "Apply recurring states [manager_org_1.statechannel-recurring] scheduled" completed during last minute, refreshing the page And file "/proc/sys/net/ipv4/conf/all/forwarding" should contain "1" on "sle_minion" Scenario: Edit the IP forwarding custom state recurring action @@ -63,8 +63,8 @@ Feature: Recurring Actions And I should see a "Minion" text When I follow "Events" And I follow "History" - Then I wait until I see the event "Apply recurring states [util.syncstates] scheduled by admin" completed during last minute, refreshing the page - And I follow the event "Apply recurring states [util.syncstates] scheduled by admin" completed during last minute + Then I wait until I see the event "Apply recurring states [util.syncstates] scheduled" completed during last minute, refreshing the page + And I follow the event "Apply recurring states [util.syncstates] scheduled" completed during last minute And I should see a "SLS: util.syncstates" text Scenario: Cleanup: Disable IP forwarding @@ -102,7 +102,7 @@ Feature: Recurring Actions And I should see a "Minion" text When I follow "Events" And I follow "History" - And I wait until I see the event "Apply highstate in test-mode scheduled by admin" completed during last minute, refreshing the page + And I wait until I see the event "Apply highstate in test-mode scheduled" completed during last minute, refreshing the page Scenario: Edit the minion Highstate Recurring Action When I am on the "Recurring Actions" page of this "sle_minion" @@ -152,7 +152,7 @@ Feature: Recurring Actions Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed Scenario: Pre-requisite: downgrade milkyway-dummy to lower version When I enable repository "test_repo_rpm_pool" on this "sle_minion" @@ -191,7 +191,7 @@ Feature: Recurring Actions And I should see a "Group" text When I am on the "Events" page of this "sle_minion" And I follow "History" - Then I wait until I see the event "Apply recurring states [uptodate] scheduled by admin" completed during last minute, refreshing the page + Then I wait until I see the event "Apply recurring states [uptodate] scheduled" completed during last minute, refreshing the page When I am on the Systems overview page of this "sle_minion" Then I wait until I see "System is up to date" text, refreshing the page @@ -220,7 +220,7 @@ Feature: Recurring Actions Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed @uyuni Scenario: Cleanup: subscribe system back to default base channel @@ -242,7 +242,7 @@ Feature: Recurring Actions Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed Scenario: Edit the group Recurring Action When I follow the left menu "Systems > System Groups" @@ -293,7 +293,7 @@ Feature: Recurring Actions And I should see a "Organization" text When I am on the "Events" page of this "sle_minion" And I follow "History" - Then I wait until I see the event "Apply recurring states [packages.profileupdate] scheduled by admin" completed during last minute, refreshing the page + Then I wait until I see the event "Apply recurring states [packages.profileupdate] scheduled" completed during last minute, refreshing the page Scenario: Edit the yourorg Recurring Action When I follow the left menu "Home > My Organization > Recurring Actions" @@ -351,7 +351,7 @@ Feature: Recurring Actions And I should see a "Organization" text When I am on the "Events" page of this "sle_minion" And I follow "History" - Then I wait until I see the event "Apply recurring states [hardware.profileupdate] scheduled by admin" completed during last minute, refreshing the page + Then I wait until I see the event "Apply recurring states [hardware.profileupdate] scheduled" completed during last minute, refreshing the page Scenario: Edit the admin org Recurring Action When I follow the left menu "Admin > Organizations" diff --git a/testsuite/features/secondary/min_retracted_patches.feature b/testsuite/features/secondary/min_retracted_patches.feature index 297e1b6a043c..a843c447e868 100644 --- a/testsuite/features/secondary/min_retracted_patches.feature +++ b/testsuite/features/secondary/min_retracted_patches.feature @@ -1,11 +1,11 @@ -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_retracted_patches Feature: Retracted patches - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Installed retracted package should show icon in the system packages list When I install package "rute-dummy=2.1-1.1" on this "sle_minion" @@ -53,7 +53,7 @@ Feature: Retracted patches Then I should see a "No systems." text When I remove package "rute-dummy" from this "sle_minion" And I wait until package "rute-dummy" is removed from "sle_minion" via spacecmd - + Scenario: Target systems for stable packages should not be empty When I follow the left menu "Software > Channel List > All" And I follow "Show All Child Channels" @@ -62,7 +62,7 @@ Feature: Retracted patches And I follow "rute-dummy-2.0-1.2.x86_64" And I follow "Target Systems" And I refresh page until I see "sle_minion" hostname as text - + Scenario: Target systems for retracted packages should be empty When I follow the left menu "Software > Channel List > All" And I follow "Show All Child Channels" @@ -105,7 +105,7 @@ Feature: Retracted patches Then the table row for "rute-dummy-0815" should contain "retracted" icon And the table row for "rute-dummy-0816" should not contain "retracted" icon And the table row for "rute-dummy-0817" should contain "retracted" icon - + Scenario: Retracted packages in the channel packages list When I follow the left menu "Software > Channel List > All" And I follow "Show All Child Channels" @@ -118,7 +118,7 @@ Feature: Retracted patches Scenario: SSM: Retracted package should not be available for installation When I follow the left menu "Systems > System List > All" And I click on the clear SSM button - And I check the "sle_minion" client + And I check the "sle_minion" client And I follow the left menu "Systems > System Set Manager > Overview" And I follow "Packages" in the content area And I follow "Install" diff --git a/testsuite/features/secondary/min_rhlike_monitoring.feature b/testsuite/features/secondary/min_rhlike_monitoring.feature index d90a28dca694..c0271942c243 100644 --- a/testsuite/features/secondary/min_rhlike_monitoring.feature +++ b/testsuite/features/secondary/min_rhlike_monitoring.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2022-2024 SUSE LLC # Licensed under the terms of the MIT license. # This feature depends on: # - features/secondary/srv_monitoring.feature: as this feature disables/re-enables monitoring capabilities @@ -16,8 +16,8 @@ Feature: Monitor SUMA environment with Prometheus on a Red Hat-like Salt minion Scenario: Pre-requisite: enable Prometheus exporters repository on the Red Hat-like minion When I enable the necessary repositories before installing Prometheus exporters on this "rhlike_minion" - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Apply Prometheus exporter formulas on the Red Hat-like minion Given I am on the Systems overview page of this "rhlike_minion" @@ -43,7 +43,7 @@ Feature: Monitor SUMA environment with Prometheus on a Red Hat-like Salt minion When I follow "States" in the content area And I click on "Apply Highstate" Then I should see a "Applying the highstate has been scheduled." text - And I wait until event "Apply highstate scheduled by admin" is completed + And I wait until event "Apply highstate scheduled" is completed Scenario: Visit monitoring endpoints on the Red Hat-like minion When I wait until "node" exporter service is active on "rhlike_minion" @@ -63,7 +63,7 @@ Feature: Monitor SUMA environment with Prometheus on a Red Hat-like Salt minion When I follow "States" in the content area And I click on "Apply Highstate" Then I should see a "Applying the highstate has been scheduled." text - And I wait until event "Apply highstate scheduled by admin" is completed + And I wait until event "Apply highstate scheduled" is completed Scenario: Cleanup: disable Prometheus exporters repository on the Red Hat-like minion When I disable the necessary repositories before installing Prometheus exporters on this "rhlike_minion" without error control diff --git a/testsuite/features/secondary/min_rhlike_openscap_audit.feature b/testsuite/features/secondary/min_rhlike_openscap_audit.feature index 611ce2187336..5087a0bc4621 100644 --- a/testsuite/features/secondary/min_rhlike_openscap_audit.feature +++ b/testsuite/features/secondary/min_rhlike_openscap_audit.feature @@ -93,4 +93,4 @@ Feature: OpenSCAP audit of Red Hat-like Salt minion Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed diff --git a/testsuite/features/secondary/min_rhlike_remote_command.feature b/testsuite/features/secondary/min_rhlike_remote_command.feature index fd7e12dfe089..b3c4eb5709e7 100644 --- a/testsuite/features/secondary/min_rhlike_remote_command.feature +++ b/testsuite/features/secondary/min_rhlike_remote_command.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2022 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. # Skip if container. This test is broken @@ -12,8 +12,10 @@ Feature: Remote command on the Red Hat-like Salt minion As an authorized user I want to run a remote command on it + Scenario: Log in as org admin user + Given I am authorized + Scenario: Run a remote command on the Red Hat-like minion - Given I am authorized as "testing" with password "testing" When I follow the left menu "Salt > Remote Commands" Then I should see a "Remote Commands" text in the content area When I enter command "cat /etc/os-release" diff --git a/testsuite/features/secondary/min_rhlike_salt_install_package_and_patch.feature b/testsuite/features/secondary/min_rhlike_salt_install_package_and_patch.feature index fc2d79da68ba..c82266178ad5 100644 --- a/testsuite/features/secondary/min_rhlike_salt_install_package_and_patch.feature +++ b/testsuite/features/secondary/min_rhlike_salt_install_package_and_patch.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2015-2022 SUSE LLC +# Copyright (c) 2015-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -17,7 +17,7 @@ Feature: Install a patch on the Red Hat-like minion via Salt through the UI And I wait until refresh package list on "rhlike_minion" is finished Then spacecmd should show packages "virgo-dummy-1.0" installed on "rhlike_minion" - Scenario: Log in as admin user + Scenario: Log in as org admin user Given I am authorized for the "Admin" section Scenario: Pre-requisite: re-subscribe the Red Hat-like minion to a base channel @@ -31,7 +31,7 @@ Feature: Install a patch on the Red Hat-like minion via Salt through the UI Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed Scenario: Schedule errata refresh to reflect channel assignment on Red Hat-like minion When I follow "Software" in the content area @@ -62,7 +62,7 @@ Feature: Install a patch on the Red Hat-like minion via Salt through the UI And I click on "Install Selected Packages" And I click on "Confirm" Then I should see a "1 package install has been scheduled for" text - And I wait until event "Package Install/Upgrade scheduled by admin" is completed + And I wait until event "Package Install/Upgrade scheduled" is completed Scenario: Cleanup: remove virgo-dummy and andromeda-dummy packages from Red Hat-like minion When I follow "Software" in the content area @@ -76,5 +76,5 @@ Feature: Install a patch on the Red Hat-like minion via Salt through the UI And I click on "Remove Packages" And I click on "Confirm" Then I should see a "2 package removals have been scheduled" text - And I wait until event "Package Removal scheduled by admin" is completed + And I wait until event "Package Removal scheduled" is completed And I disable repository "test_repo_rpm_pool" on this "rhlike_minion" diff --git a/testsuite/features/secondary/min_rhlike_ssh.feature b/testsuite/features/secondary/min_rhlike_ssh.feature index 2d004e3fbd1a..2e54f9442935 100644 --- a/testsuite/features/secondary/min_rhlike_ssh.feature +++ b/testsuite/features/secondary/min_rhlike_ssh.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2017-2023 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. # # 1) delete Red Hat-like minion and register as SSH minion @@ -17,8 +17,8 @@ @rhlike_minion Feature: Bootstrap a SSH-managed Red Hat-like minion and do some basic operations on it - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Delete the Red Hat-like minion before SSH minion tests When I am on the Systems overview page of this "rhlike_minion" @@ -68,7 +68,7 @@ Feature: Bootstrap a SSH-managed Red Hat-like minion and do some basic operation Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed Scenario: Check events history for failures on SSH-managed Red Hat-like minion Given I am on the Systems overview page of this "rhlike_minion" @@ -125,4 +125,4 @@ Feature: Bootstrap a SSH-managed Red Hat-like minion and do some basic operation Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed diff --git a/testsuite/features/secondary/min_salt_formulas.feature b/testsuite/features/secondary/min_salt_formulas.feature index 70fb46fa3fd1..8ba519ed90f2 100644 --- a/testsuite/features/secondary/min_salt_formulas.feature +++ b/testsuite/features/secondary/min_salt_formulas.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2017-2022 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -8,11 +8,11 @@ Feature: Use salt formulas As an authorized user I want to be able to install and use salt formulas - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized #container already has locale formula installed - @skip_if_containerized_server + @skip_if_containerized_server Scenario: Install the locale formula package on the server When I manually install the "locale" formula on the server @@ -71,7 +71,7 @@ Feature: Use salt formulas And I follow "States" in the content area And I click on "Apply Highstate" Then I should see a "Applying the highstate has been scheduled." text - When I wait until event "Apply highstate scheduled by admin" is completed + When I wait until event "Apply highstate scheduled" is completed Then the timezone on "sle_minion" should be "+05" And the keymap on "sle_minion" should be "ca" And the language on "sle_minion" should be "fr_FR.UTF-8" @@ -95,7 +95,7 @@ Feature: Use salt formulas And I follow "States" in the content area And I click on "Apply Highstate" Then I should see a "Applying the highstate has been scheduled." text - When I wait until event "Apply highstate scheduled by admin" is completed + When I wait until event "Apply highstate scheduled" is completed Then the timezone on "sle_minion" should be "CET" And the keymap on "sle_minion" should be "us" And the language on "sle_minion" should be "en_US.UTF-8" @@ -162,7 +162,7 @@ Feature: Use salt formulas And I follow "States" in the content area And I click on "Apply Highstate" Then I should see a "Applying the highstate has been scheduled." text - When I wait until event "Apply highstate scheduled by admin" is completed + When I wait until event "Apply highstate scheduled" is completed Then the timezone on "sle_minion" should be "CET" And the keymap on "sle_minion" should be "us" And the language on "sle_minion" should be "en_US.UTF-8" diff --git a/testsuite/features/secondary/min_salt_formulas_advanced.feature b/testsuite/features/secondary/min_salt_formulas_advanced.feature index b24e3e68804d..0846c928fa6a 100644 --- a/testsuite/features/secondary/min_salt_formulas_advanced.feature +++ b/testsuite/features/secondary/min_salt_formulas_advanced.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2017-2018 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_formulas @@ -7,8 +7,8 @@ Feature: Use advanced features of Salt formulas As an authorized user I want to be able to install and use Salt formulas - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Install a test formula package on the server When I install "form.yml" to custom formula metadata directory "testform" diff --git a/testsuite/features/secondary/min_salt_install_package.feature b/testsuite/features/secondary/min_salt_install_package.feature index fefbf494bc4d..888f82b3769f 100644 --- a/testsuite/features/secondary/min_salt_install_package.feature +++ b/testsuite/features/secondary/min_salt_install_package.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2015-2022 SUSE LLC +# Copyright (c) 2015-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_salt @@ -14,7 +14,7 @@ Feature: Install a patch on the client via Salt through the UI And I wait until refresh package list on "sle_minion" is finished Then spacecmd should show packages "virgo-dummy-1.0" installed on "sle_minion" - Scenario: Log in as admin user + Scenario: Log in as org admin user Given I am authorized for the "Admin" section Scenario: Pre-requisite: ensure the errata cache is computed before patching Salt minion diff --git a/testsuite/features/secondary/min_salt_lock_packages.feature b/testsuite/features/secondary/min_salt_lock_packages.feature index a94827a0cc5a..ae4e785bc84f 100644 --- a/testsuite/features/secondary/min_salt_lock_packages.feature +++ b/testsuite/features/secondary/min_salt_lock_packages.feature @@ -9,8 +9,8 @@ @scope_salt Feature: Lock packages on SLES salt minion - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Pre-requisite: install packages needed for locking test When I install package "orion-dummy" on this "sle_minion" @@ -26,7 +26,7 @@ Feature: Lock packages on SLES salt minion And I check row with "hoag-dummy-1.1-1.1" and arch of "sle_minion" And I click on "Lock" Then I should see a "Packages has been requested for being locked." text - When I wait until event "Lock packages scheduled by admin" is completed + When I wait until event "Lock packages scheduled" is completed Then "hoag-dummy-1.1-1.1" is locked on "sle_minion" When I follow "Software" in the content area And I follow "Lock / Unlock" @@ -46,8 +46,8 @@ Feature: Lock packages on SLES salt minion Then I should see a "1 package install has been scheduled for" text When I follow "Events" And I follow "History" - And I wait until I see the event "Package Install/Upgrade scheduled by admin" completed during last minute, refreshing the page - And I follow the event "Package Install/Upgrade scheduled by admin" completed during last minute + And I wait until I see the event "Package Install/Upgrade scheduled" completed during last minute, refreshing the page + And I follow the event "Package Install/Upgrade scheduled" completed during last minute Then the package scheduled is "hoag-dummy-1.1-1.1" And the action status is "Failed" @@ -61,7 +61,7 @@ Feature: Lock packages on SLES salt minion And I check row with "hoag-dummy-1.1-1.1" and arch of "sle_minion" And I click on "Unlock" Then I should see a "Packages has been requested for being unlocked." text - When I wait until event "Lock packages scheduled by admin" is completed + When I wait until event "Lock packages scheduled" is completed Then "hoag-dummy-1.1-1.1" is unlocked on "sle_minion" When I follow "Software" in the content area And I follow "Lock / Unlock" @@ -90,7 +90,7 @@ Feature: Lock packages on SLES salt minion And I click on "Lock" Then I should see a "Packages has been requested for being locked." text And package "milkyway-dummy-2.0-1.1" is reported as pending to be locked - When I wait until event "Lock packages scheduled by admin" is completed + When I wait until event "Lock packages scheduled" is completed Then "hoag-dummy-1.1-1.1" is locked on "sle_minion" And "milkyway-dummy-2.0-1.1" is locked on "sle_minion" When I follow "Software" in the content area @@ -120,7 +120,7 @@ Feature: Lock packages on SLES salt minion And I click on "Unlock" Then I should see a "Packages has been requested for being unlocked." text And package "milkyway-dummy-2.0-1.1" is reported as pending to be unlocked - When I wait until event "Lock packages scheduled by admin" is completed + When I wait until event "Lock packages scheduled" is completed Then "hoag-dummy-1.1-1.1" is locked on "sle_minion" And "milkyway-dummy-2.0-1.1" is unlocked on "sle_minion" And "orion-dummy-1.1-1.1" is locked on "sle_minion" @@ -140,7 +140,7 @@ Feature: Lock packages on SLES salt minion And I click on "Unlock" Then I should see a "Packages has been requested for being unlocked." text And only packages "hoag-dummy-1.1-1.1, orion-dummy-1.1-1.1" are reported as pending to be unlocked - When I wait until event "Lock packages scheduled by admin" is completed + When I wait until event "Lock packages scheduled" is completed Then "hoag-dummy-1.1-1.1" is unlocked on "sle_minion" And "orion-dummy-1.1-1.1" is unlocked on "sle_minion" When I follow "Software" in the content area diff --git a/testsuite/features/secondary/min_salt_mgrcompat_state.feature b/testsuite/features/secondary/min_salt_mgrcompat_state.feature index 069c142b7d6d..c6789a937a98 100644 --- a/testsuite/features/secondary/min_salt_mgrcompat_state.feature +++ b/testsuite/features/secondary/min_salt_mgrcompat_state.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2015-2023 SUSE LLC. +# Copyright (c) 2015-2024 SUSE LLC. # Licensed under the terms of the MIT license. # # This feature can cause failures in the following features: @@ -17,8 +17,8 @@ @scope_salt Feature: Verify that Salt mgrcompat state works when the new module.run syntax is enabled - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Remove mgrcompat module from minion synced modules and schedule Hardware Refresh Given I remove "minion/extmods/states/mgrcompat.py" from salt cache on "sle_minion" @@ -27,7 +27,7 @@ Feature: Verify that Salt mgrcompat state works when the new module.run syntax i When I follow "Hardware" And I click on "Schedule Hardware Refresh" Then I should see a "You have successfully scheduled a hardware profile refresh" text - When I wait until event "Hardware List Refresh scheduled by admin" is completed + When I wait until event "Hardware List Refresh scheduled" is completed And I wait until there is no Salt job calling the module "hardware.profileupdate" on "sle_minion" Scenario: Remove saltutil grain and mgrcompat module from minion and schedule Hardware Refresh @@ -39,7 +39,7 @@ Feature: Verify that Salt mgrcompat state works when the new module.run syntax i When I follow "Hardware" And I click on "Schedule Hardware Refresh" Then I should see a "You have successfully scheduled a hardware profile refresh" text - When I wait until event "Hardware List Refresh scheduled by admin" is completed + When I wait until event "Hardware List Refresh scheduled" is completed And I wait until there is no Salt job calling the module "hardware.profileupdate" on "sle_minion" Scenario: Delete SLES minion system profile before mgrcompat test @@ -80,7 +80,7 @@ Feature: Verify that Salt mgrcompat state works when the new module.run syntax i And I follow "Hardware" And I click on "Schedule Hardware Refresh" Then I should see a "You have successfully scheduled a hardware profile refresh" text - When I wait until event "Hardware List Refresh scheduled by admin" is completed + When I wait until event "Hardware List Refresh scheduled" is completed And I wait until there is no Salt job calling the module "hardware.profileupdate" on "sle_minion" Scenario: Cleanup: Delete profile of the minion and disable new module.run syntax diff --git a/testsuite/features/secondary/min_salt_minion_details.feature b/testsuite/features/secondary/min_salt_minion_details.feature index bf83f3028c64..8e68276082bd 100644 --- a/testsuite/features/secondary/min_salt_minion_details.feature +++ b/testsuite/features/secondary/min_salt_minion_details.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2015-2018 SUSE LLC. +# Copyright (c) 2015-2024 SUSE LLC. # Licensed under the terms of the MIT license. @scope_salt @@ -6,8 +6,8 @@ Feature: Verify the minion registration In order to validate the completeness of minion registration I want to see minion details and installed packages - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Check the Salt entitlement Given I am on the Systems overview page of this "sle_minion" @@ -23,7 +23,7 @@ Feature: Verify the minion registration And I follow "Hardware" in the content area And I click on "Schedule Hardware Refresh" Then I should see a "You have successfully scheduled a hardware profile refresh" text - When I wait until event "Hardware List Refresh scheduled by admin" is completed + When I wait until event "Hardware List Refresh scheduled" is completed And I wait until there is no Salt job calling the module "hardware.profileupdate" on "sle_minion" Scenario: Check that Update Properties button works diff --git a/testsuite/features/secondary/min_salt_minions_page.feature b/testsuite/features/secondary/min_salt_minions_page.feature index 5e40216e202a..e2fe1481ff7d 100644 --- a/testsuite/features/secondary/min_salt_minions_page.feature +++ b/testsuite/features/secondary/min_salt_minions_page.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2015-2023 SUSE LLC +# Copyright (c) 2015-2024 SUSE LLC # Licensed under the terms of the MIT license. # # This feature can cause failures in the following features: @@ -13,8 +13,8 @@ Feature: Management of minion keys As an authorized user I want to verify all the minion key management features in the UI - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Delete SLES minion system profile before exploring the onboarding page Given I am on the Systems overview page of this "sle_minion" diff --git a/testsuite/features/secondary/min_salt_pkgset_beacon.feature b/testsuite/features/secondary/min_salt_pkgset_beacon.feature index 203e1ce26b50..369befd6e0c7 100644 --- a/testsuite/features/secondary/min_salt_pkgset_beacon.feature +++ b/testsuite/features/secondary/min_salt_pkgset_beacon.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2016-2022 SUSE LLC +# Copyright (c) 2016-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -15,7 +15,7 @@ Feature: System package list is updated if packages are manually installed or re And I wait until refresh package list on "sle_minion" is finished Then spacecmd should show packages "milkyway-dummy-1.0" installed on "sle_minion" - Scenario: Log in as admin user + Scenario: Log in as org admin user Given I am authorized for the "Admin" section Scenario: Pre-requisite: ensure the errata cache is computed before package list tests diff --git a/testsuite/features/secondary/min_salt_user_states.feature b/testsuite/features/secondary/min_salt_user_states.feature index 574d377b60c9..15e196e0a624 100644 --- a/testsuite/features/secondary/min_salt_user_states.feature +++ b/testsuite/features/secondary/min_salt_user_states.feature @@ -1,12 +1,12 @@ -# Copyright (c) 2018-2022 SUSE LLC +# Copyright (c) 2018-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @scope_salt Feature: Coexistence with user-defined states - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Create a user-defined state Given I am on the Systems overview page of this "sle_minion" @@ -19,7 +19,7 @@ Feature: Coexistence with user-defined states Scenario: Trigger highstate from API When I schedule a highstate for "sle_minion" via API - And I wait until event "Apply highstate scheduled by admin" is completed + And I wait until event "Apply highstate scheduled" is completed Then file "/tmp/test_user_defined_state" should exist on "sle_minion" Scenario: Cleanup: remove user-defined state and the file it created diff --git a/testsuite/features/secondary/min_ssh_tunnel.feature b/testsuite/features/secondary/min_ssh_tunnel.feature index 50253182759d..12afd770a9ed 100644 --- a/testsuite/features/secondary/min_ssh_tunnel.feature +++ b/testsuite/features/secondary/min_ssh_tunnel.feature @@ -10,8 +10,8 @@ @ssh_minion Feature: Register a Salt system to be managed via SSH tunnel - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Pre-requisite: remove package before ssh tunnel test When I remove package "milkyway-dummy" from this "ssh_minion" without error control @@ -53,7 +53,7 @@ Feature: Register a Salt system to be managed via SSH tunnel And I click on "Install Selected Packages" And I click on "Confirm" Then I should see a "1 package install has been scheduled for" text - Then I wait until event "Package Install/Upgrade scheduled by admin" is completed + Then I wait until event "Package Install/Upgrade scheduled" is completed Scenario: Remove a package from this SSH tunnel minion Given I am on the Systems overview page of this "ssh_minion" @@ -66,7 +66,7 @@ Feature: Register a Salt system to be managed via SSH tunnel And I click on "Remove Packages" And I click on "Confirm" Then I should see a "1 package removal has been scheduled" text - Then I wait until event "Package Removal scheduled by admin" is completed + Then I wait until event "Package Removal scheduled" is completed Scenario: Run a remote command on this SSH tunnel minion When I follow the left menu "Salt > Remote Commands" diff --git a/testsuite/features/secondary/minkvm_guests.feature b/testsuite/features/secondary/minkvm_guests.feature index 595d5512aba2..a3e298d0fea8 100644 --- a/testsuite/features/secondary/minkvm_guests.feature +++ b/testsuite/features/secondary/minkvm_guests.feature @@ -12,8 +12,8 @@ @scope_cobbler Feature: Manage KVM virtual machines via the GUI - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Start Cobbler monitoring When I start local monitoring of Cobbler diff --git a/testsuite/features/secondary/minssh_action_chain.feature b/testsuite/features/secondary/minssh_action_chain.feature index bc425c8890c3..bb181a6aaf45 100644 --- a/testsuite/features/secondary/minssh_action_chain.feature +++ b/testsuite/features/secondary/minssh_action_chain.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2018-2022 SUSE LLC +# Copyright (c) 2018-2024 SUSE LLC # Licensed under the terms of the MIT license. # # This feature can cause failures in the following features: @@ -12,7 +12,7 @@ @scope_salt_ssh Feature: Salt SSH action chain - Scenario: Log in as admin user + Scenario: Log in as org admin user Given I am authorized for the "Admin" section Scenario: Pre-requisite: downgrade repositories to lower version on SSH minion @@ -163,6 +163,7 @@ Feature: Salt SSH action chain Scenario: Execute the action chain from the web UI on SSH minion Given I am authorized for the "Admin" section When I follow the left menu "Schedule > Action Chains" + And I wait until I see "new action chain" text And I follow "new action chain" Then I click on "Save and Schedule" And I should see a "Action Chain new action chain has been scheduled for execution." text @@ -200,7 +201,7 @@ Feature: Salt SSH action chain And I follow "Software" in the content area And I click on "Update Package List" And I follow "Events" in the content area - And I wait until I do not see "Package List Refresh scheduled by admin" text, refreshing the page + And I wait until I do not see "Package List Refresh scheduled" text, refreshing the page And I follow "Software" in the content area And I follow "List / Remove" in the content area And I enter "andromeda-dummy" as the filtered package name diff --git a/testsuite/features/secondary/minssh_ansible_control_node.feature b/testsuite/features/secondary/minssh_ansible_control_node.feature index 148033640aa6..701229a6282a 100644 --- a/testsuite/features/secondary/minssh_ansible_control_node.feature +++ b/testsuite/features/secondary/minssh_ansible_control_node.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2023 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -7,8 +7,8 @@ @ssh_minion Feature: Operate an Ansible control node in SSH minion - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Pre-requisite: Deploy test playbooks and inventory file When I deploy testing playbooks and inventory files to "ssh_minion" @@ -35,7 +35,7 @@ Feature: Operate an Ansible control node in SSH minion Given I am on the Systems overview page of this "ssh_minion" When I follow "States" in the content area And I click on "Apply Highstate" - And I wait until event "Apply highstate scheduled by admin" is completed + And I wait until event "Apply highstate scheduled" is completed Then "ansible" should be installed on "ssh_minion" Scenario: The Ansible tab appears in the system overview page @@ -80,7 +80,7 @@ Feature: Operate an Ansible control node in SSH minion And I select "/srv/playbooks/orion_dummy/hosts" from "inventory-path-select" And I click on "Schedule" Then I should see a "Playbook execution has been scheduled" text - And I wait until event "Execute playbook 'playbook_orion_dummy.yml' scheduled by admin" is completed + And I wait until event "Execute playbook 'playbook_orion_dummy.yml' scheduled" is completed And file "/tmp/file.txt" should exist on "ssh_minion" Scenario: Cleanup: Disable Ansible and remove test playbooks and inventory file diff --git a/testsuite/features/secondary/minssh_bootstrap_api.feature b/testsuite/features/secondary/minssh_bootstrap_api.feature index a28b0fbf3631..ca86a2db3ab2 100644 --- a/testsuite/features/secondary/minssh_bootstrap_api.feature +++ b/testsuite/features/secondary/minssh_bootstrap_api.feature @@ -15,8 +15,8 @@ @skip_if_github_validation Feature: Register a salt-ssh system via API - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Delete SSH minion system profile before API bootstrap test Given I am on the Systems overview page of this "ssh_minion" @@ -72,7 +72,7 @@ Feature: Register a salt-ssh system via API Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed @uyuni Scenario: API bootstrap: subscribe SSH minion to base channel @@ -88,7 +88,7 @@ Feature: Register a salt-ssh system via API Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed + And I wait until event "Subscribe channels scheduled" is completed @proxy Scenario: cleanup and flush the firewall rules diff --git a/testsuite/features/secondary/minssh_move_from_and_to_proxy.feature b/testsuite/features/secondary/minssh_move_from_and_to_proxy.feature index b736d3cff4be..ef32f410dd6a 100644 --- a/testsuite/features/secondary/minssh_move_from_and_to_proxy.feature +++ b/testsuite/features/secondary/minssh_move_from_and_to_proxy.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2023 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. # # This feature can cause failures in the following features: @@ -15,8 +15,8 @@ @proxy Feature: Move a SSH minion from a proxy to direct connection - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Delete minion system profile before bootstrap Given I am on the Systems overview page of this "ssh_minion" @@ -62,7 +62,7 @@ Feature: Move a SSH minion from a proxy to direct connection And I wait until I see "scheduled" text And I follow "Events" And I follow "History" - And I wait until I see the event "Apply states [channels] scheduled by admin" completed during last minute, refreshing the page + And I wait until I see the event "Apply states [channels] scheduled" completed during last minute, refreshing the page Scenario: Check direct connection Given I am on the Systems overview page of this "ssh_minion" @@ -82,7 +82,7 @@ Feature: Move a SSH minion from a proxy to direct connection And I wait until I see "scheduled" text And I follow "Events" And I follow "History" - And I wait until I see the event "Apply states [channels] scheduled by admin" completed during last minute, refreshing the page + And I wait until I see the event "Apply states [channels] scheduled" completed during last minute, refreshing the page Scenario: Check registration on proxy of minion Given I am on the Systems overview page of this "proxy" diff --git a/testsuite/features/secondary/minssh_salt_install_package.feature b/testsuite/features/secondary/minssh_salt_install_package.feature index d422c64a1f68..239cd606333c 100644 --- a/testsuite/features/secondary/minssh_salt_install_package.feature +++ b/testsuite/features/secondary/minssh_salt_install_package.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2019-2021 SUSE LLC +# Copyright (c) 2019-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -28,7 +28,7 @@ Feature: Install a package on the SSH minion via Salt through the UI And I click on "Install Selected Packages" And I click on "Confirm" Then I should see a "1 package install has been scheduled" text - When I wait until event "Package Install/Upgrade scheduled by admin" is completed + When I wait until event "Package Install/Upgrade scheduled" is completed Then "hoag-dummy-1.1-1.1" should be installed on "ssh_minion" Scenario: Cleanup: remove the package from the SSH minion diff --git a/testsuite/features/secondary/proxy_traditional_cobbler_pxeboot.feature b/testsuite/features/secondary/proxy_traditional_cobbler_pxeboot.feature index 0183a92b3cbd..f5651cbbaf94 100644 --- a/testsuite/features/secondary/proxy_traditional_cobbler_pxeboot.feature +++ b/testsuite/features/secondary/proxy_traditional_cobbler_pxeboot.feature @@ -15,14 +15,14 @@ Feature: PXE boot a terminal with Cobbler and traditional proxy As the system administrator I want to PXE boot one host with Cobbler - Scenario: Log in as admin user - Given I am authorized for the "Admin" section - And I am on the Systems overview page of this "proxy" + Scenario: Log in as org admin user + Given I am authorized Scenario: Start Cobbler monitoring When I start local monitoring of Cobbler Scenario: Configure PXE part of DHCP on the proxy + Given I am on the Systems overview page of this "proxy" When I follow "Formulas" in the content area And I follow first "Dhcpd" in the content area And I click on "Expand All Sections" @@ -35,7 +35,7 @@ Feature: PXE boot a terminal with Cobbler and traditional proxy Scenario: Apply the highstate after the formula setup When I follow "States" in the content area And I click on "Apply Highstate" - And I wait until event "Apply highstate scheduled by admin" is completed + And I wait until event "Apply highstate scheduled" is completed # We currently test Cobbler with SLES 15 SP4, even on Uyuni Scenario: Install the TFTP boot package on the server for Cobbler tests @@ -125,7 +125,7 @@ Feature: PXE boot a terminal with Cobbler and traditional proxy And I click on "Install Selected Packages" And I click on "Confirm" Then I should see a "1 package install has been scheduled" text - When I wait until event "Package Install/Upgrade scheduled by admin" is completed + When I wait until event "Package Install/Upgrade scheduled" is completed Scenario: Download the profile from the UI When I follow the left menu "Systems > Autoinstallation > Profiles" diff --git a/testsuite/features/secondary/proxy_traditional_retail_pxeboot.feature b/testsuite/features/secondary/proxy_traditional_retail_pxeboot.feature index 9506237b2495..9e646e0b1e2b 100644 --- a/testsuite/features/secondary/proxy_traditional_retail_pxeboot.feature +++ b/testsuite/features/secondary/proxy_traditional_retail_pxeboot.feature @@ -24,8 +24,8 @@ Feature: PXE boot a Retail terminal behind a traditional proxy As the system administrator I PXE boot one of the terminals - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Enable the PXE formulas on the branch server Given I am on the Systems overview page of this "proxy" @@ -102,7 +102,7 @@ Feature: PXE boot a Retail terminal behind a traditional proxy When I follow "States" in the content area And I enable repositories before installing branch server And I click on "Apply Highstate" - And I wait until event "Apply highstate scheduled by admin" is completed + And I wait until event "Apply highstate scheduled" is completed And I disable repositories after installing branch server Then socket "tftp" is enabled on "proxy" And socket "tftp" is active on "proxy" @@ -223,7 +223,7 @@ Feature: PXE boot a Retail terminal behind a traditional proxy And I click on "Install Selected Packages" And I click on "Confirm" Then I should see a "1 package install has been scheduled" text - When I wait until event "Package Install/Upgrade scheduled by admin" is completed + When I wait until event "Package Install/Upgrade scheduled" is completed Scenario: Remove the package from the new Retail terminal When I navigate to the Systems overview page of this "pxeboot_minion" @@ -235,7 +235,7 @@ Feature: PXE boot a Retail terminal behind a traditional proxy And I click on "Remove Packages" And I click on "Confirm" Then I should see a "1 package removal has been scheduled" text - When I wait until event "Package Removal scheduled by admin" is completed + When I wait until event "Package Removal scheduled" is completed Scenario: Cleanup: let the terminal be reinstalled again When I navigate to the Systems overview page of this "pxeboot_minion" @@ -299,4 +299,4 @@ Feature: PXE boot a Retail terminal behind a traditional proxy When I follow "States" in the content area And I enable repositories before installing branch server And I click on "Apply Highstate" - And I wait until event "Apply highstate scheduled by admin" is completed + And I wait until event "Apply highstate scheduled" is completed diff --git a/testsuite/features/secondary/srv_advanced_search.feature b/testsuite/features/secondary/srv_advanced_search.feature index 380dac350468..9f17f74e52c3 100644 --- a/testsuite/features/secondary/srv_advanced_search.feature +++ b/testsuite/features/secondary/srv_advanced_search.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2022-2023 SUSE LLC. +# Copyright (c) 2022-2024 SUSE LLC. # Licensed under the terms of the MIT license. @scope_spacewalk_utils @@ -8,8 +8,8 @@ Feature: Advanced Search As an authorized user I want to be able to search for specific systems according to location or other characteristics - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: No search results - inverse results Given I clean the search index on the server diff --git a/testsuite/features/secondary/srv_change_password.feature b/testsuite/features/secondary/srv_change_password.feature index f98e53fec452..0d7c79d049e5 100644 --- a/testsuite/features/secondary/srv_change_password.feature +++ b/testsuite/features/secondary/srv_change_password.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2017-2023 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. # # This feature can cause failures in the following features when running in sequential: @@ -11,7 +11,7 @@ Feature: Change the user's password As an authorized user I want enter a new password - Scenario: Log in as admin user + Scenario: Log in as org admin user Given I am authorized for the "Admin" section Scenario: Change the password to a new password diff --git a/testsuite/features/secondary/srv_check_channels_page.feature b/testsuite/features/secondary/srv_check_channels_page.feature index 3c5032485686..ffbb83045417 100644 --- a/testsuite/features/secondary/srv_check_channels_page.feature +++ b/testsuite/features/secondary/srv_check_channels_page.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2015-2021 SUSE LLC +# Copyright (c) 2015-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_configuration_channels @@ -7,8 +7,8 @@ Feature: The channels page As an authorized user I want to see all the texts and links - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Completeness of the channels page When I follow the left menu "Software > Channel List > All" diff --git a/testsuite/features/secondary/srv_check_sync_source_packages.feature b/testsuite/features/secondary/srv_check_sync_source_packages.feature index 90d37ef6ed47..35df2f3ffcd1 100644 --- a/testsuite/features/secondary/srv_check_sync_source_packages.feature +++ b/testsuite/features/secondary/srv_check_sync_source_packages.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2018 SUSE LLC +# Copyright (c) 2018-2024 SUSE LLC # Licensed under the terms of the MIT license. # # requires @@ -9,8 +9,8 @@ @scope_configuration_channels Feature: Check if source packages were successfully synced - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Check sources for noarch package When I follow the left menu "Software > Channel List > All" diff --git a/testsuite/features/secondary/srv_clone_channel_npn.feature b/testsuite/features/secondary/srv_clone_channel_npn.feature index 071396ecd1fd..8d0ad17b5ed1 100644 --- a/testsuite/features/secondary/srv_clone_channel_npn.feature +++ b/testsuite/features/secondary/srv_clone_channel_npn.feature @@ -1,11 +1,11 @@ -# Copyright (c) 2017 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # License under the terms of the MIT License. @scope_configuration_channels Feature: Clone a channel - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Clone a channel without patches When I follow the left menu "Software > Manage > Channels" diff --git a/testsuite/features/secondary/srv_content_lifecycle.feature b/testsuite/features/secondary/srv_content_lifecycle.feature index fd02b9ef74d1..0c4adedbe4bc 100644 --- a/testsuite/features/secondary/srv_content_lifecycle.feature +++ b/testsuite/features/secondary/srv_content_lifecycle.feature @@ -5,8 +5,8 @@ @scope_content_lifecycle_management Feature: Content lifecycle - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Create CLM filter to remove all fonts packages When I follow the left menu "Content Lifecycle > Filters" diff --git a/testsuite/features/secondary/srv_custom_system_info.feature b/testsuite/features/secondary/srv_custom_system_info.feature index 4e632f700822..545c4e803f3e 100644 --- a/testsuite/features/secondary/srv_custom_system_info.feature +++ b/testsuite/features/secondary/srv_custom_system_info.feature @@ -1,12 +1,12 @@ -# Copyright (c) 2017-2022 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_visualization @scope_onboarding Feature: Custom system info key-value pairs - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Create a new key When I follow the left menu "Systems > Custom System Info" diff --git a/testsuite/features/secondary/srv_datepicker.feature b/testsuite/features/secondary/srv_datepicker.feature index cc8752288300..d942acf34365 100644 --- a/testsuite/features/secondary/srv_datepicker.feature +++ b/testsuite/features/secondary/srv_datepicker.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2017-2022 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_visualization @@ -8,7 +8,7 @@ Feature: Pick dates I want to be able to easily pick dates Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Given I am authorized And I am on the Systems overview page of this "sle_minion" Scenario: Date picker is by default set to today diff --git a/testsuite/features/secondary/srv_delete_channel_from_ui.feature b/testsuite/features/secondary/srv_delete_channel_from_ui.feature index 51a326b23183..dd34dc1edb11 100644 --- a/testsuite/features/secondary/srv_delete_channel_from_ui.feature +++ b/testsuite/features/secondary/srv_delete_channel_from_ui.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT License. # # This feature can cause failures in the following features: @@ -15,8 +15,8 @@ Feature: Delete channels with child or clone is not allowed Using the UI, we cannot delete a channel if it has a child or a clone created from it - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Clone the first channel before deletion from UI test When I follow the left menu "Software > Manage > Channels" diff --git a/testsuite/features/secondary/srv_delete_channel_with_tool.feature b/testsuite/features/secondary/srv_delete_channel_with_tool.feature index 70ae29ed4e9d..59fa283c7c0c 100644 --- a/testsuite/features/secondary/srv_delete_channel_with_tool.feature +++ b/testsuite/features/secondary/srv_delete_channel_with_tool.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT License. # # This feature can cause failures in the following features: @@ -12,8 +12,8 @@ Feature: Deleting channels with children or clones is not allowed Using the tool spacewalk-remove-channel, we cannot delete a channel if it has a child or a clone created from it - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Clone the first channel before deletion from tool test When I follow the left menu "Software > Manage > Channels" diff --git a/testsuite/features/secondary/srv_dist_channel_mapping.feature b/testsuite/features/secondary/srv_dist_channel_mapping.feature index 02b0e6ac093b..5b1698081d14 100644 --- a/testsuite/features/secondary/srv_dist_channel_mapping.feature +++ b/testsuite/features/secondary/srv_dist_channel_mapping.feature @@ -1,11 +1,11 @@ -# Copyright (c) 2022-2023 SUSE LLC +# Copyright (c) 2022-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation Feature: Distribution Channel Mapping - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Check if Distribution Channel Mapping page exists When I follow the left menu "Software > Distribution Channel Mapping" diff --git a/testsuite/features/secondary/srv_group_union_intersection.feature b/testsuite/features/secondary/srv_group_union_intersection.feature index d485a32a8325..09b94fb73c97 100644 --- a/testsuite/features/secondary/srv_group_union_intersection.feature +++ b/testsuite/features/secondary/srv_group_union_intersection.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2018-2022 SUSE LLC +# Copyright (c) 2018-2024 SUSE LLC # Licensed under the terms of the MIT license. # # This feature will be fully tested only if we have a Red Hat-like client @@ -7,8 +7,8 @@ @scope_visualization Feature: Work with Union and Intersection buttons in the group list - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Create a sles group When I follow the left menu "Systems > System Groups" diff --git a/testsuite/features/secondary/srv_handle_config_channels_with_ISS_v2.feature b/testsuite/features/secondary/srv_handle_config_channels_with_ISS_v2.feature index 6ffe1224497f..c14587fbb9a8 100644 --- a/testsuite/features/secondary/srv_handle_config_channels_with_ISS_v2.feature +++ b/testsuite/features/secondary/srv_handle_config_channels_with_ISS_v2.feature @@ -10,8 +10,8 @@ Feature: Export and import configuration channels with new ISS implementation When I install packages "inter-server-sync" on this "server" Then "inter-server-sync" should be installed on "server" - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Create a configuration channel When I follow the left menu "Configuration > Channels" diff --git a/testsuite/features/secondary/srv_handle_software_channels_with_ISS_v2.feature b/testsuite/features/secondary/srv_handle_software_channels_with_ISS_v2.feature index 35bf6af37b04..9cb56e89794d 100644 --- a/testsuite/features/secondary/srv_handle_software_channels_with_ISS_v2.feature +++ b/testsuite/features/secondary/srv_handle_software_channels_with_ISS_v2.feature @@ -10,8 +10,8 @@ Feature: Export and import software channels with new ISS implementation When I install packages "inter-server-sync" on this "server" Then "inter-server-sync" should be installed on "server" - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Clone a channel with patches When I follow the left menu "Software > Manage > Channels" diff --git a/testsuite/features/secondary/srv_maintenance_windows.feature b/testsuite/features/secondary/srv_maintenance_windows.feature index 0d3ada226e2a..2bcadbbd86a7 100644 --- a/testsuite/features/secondary/srv_maintenance_windows.feature +++ b/testsuite/features/secondary/srv_maintenance_windows.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2023 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. # skip if container because we do not have a domain name and the @@ -11,8 +11,8 @@ @rhlike_minion Feature: Maintenance windows - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Create single calendar When I follow the left menu "Schedule > Maintenance Windows > Calendars" diff --git a/testsuite/features/secondary/srv_manage_activationkey.feature b/testsuite/features/secondary/srv_manage_activationkey.feature index 70dd4fde525c..bce5aabf6825 100644 --- a/testsuite/features/secondary/srv_manage_activationkey.feature +++ b/testsuite/features/secondary/srv_manage_activationkey.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2010-2023 SUSE LLC +# Copyright (c) 2010-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -7,8 +7,8 @@ Feature: Manipulate activation keys As the testing user I want to create and edit activation keys - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Create an activation key for i586 When I follow the left menu "Systems > Activation Keys" diff --git a/testsuite/features/secondary/srv_manage_channels_page.feature b/testsuite/features/secondary/srv_manage_channels_page.feature index 211f40ec3422..03a782639be5 100644 --- a/testsuite/features/secondary/srv_manage_channels_page.feature +++ b/testsuite/features/secondary/srv_manage_channels_page.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2021-2023 SUSE LLC +# Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_visualization @@ -7,8 +7,8 @@ Feature: Managing channels As an authorized user I want to manage channels - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Fail when trying to add a duplicate channel When I follow the left menu "Software > Manage > Channels" diff --git a/testsuite/features/secondary/srv_notifications.feature b/testsuite/features/secondary/srv_notifications.feature index 557ec3409d60..879df653ab8a 100644 --- a/testsuite/features/secondary/srv_notifications.feature +++ b/testsuite/features/secondary/srv_notifications.feature @@ -1,12 +1,12 @@ -# Copyright (c) 2018 SUSE LLC +# Copyright (c) 2018-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_visualization @skip_if_github_validation Feature: Test the notification/notification-messages feature - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Check the unread notification counter is correct When I follow the left menu "Home > Notification Messages" diff --git a/testsuite/features/secondary/srv_patches_page.feature b/testsuite/features/secondary/srv_patches_page.feature index abdff27f1e30..43c9b2868a58 100644 --- a/testsuite/features/secondary/srv_patches_page.feature +++ b/testsuite/features/secondary/srv_patches_page.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2017 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. @scope_visualization @@ -7,8 +7,8 @@ Feature: Patches page As a authorized user I want to see all the texts and links - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Patches left menu When I follow the left menu "Patches > Patch List > Relevant" diff --git a/testsuite/features/secondary/srv_push_package.feature b/testsuite/features/secondary/srv_push_package.feature index 637335bdfcc4..7fa65f132967 100644 --- a/testsuite/features/secondary/srv_push_package.feature +++ b/testsuite/features/secondary/srv_push_package.feature @@ -8,8 +8,8 @@ Feature: Push a package with unset vendor As an authorized user I want to push a package with unset vendor - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Pre-requisite: mgr-push package must be installed on the SLES minion Given I am on the Systems overview page of this "sle_minion" @@ -23,7 +23,7 @@ Feature: Push a package with unset vendor And I click on "Install Selected Packages" And I click on "Confirm" Then I should see a "1 package install has been scheduled for" text - And I wait until event "Package Install/Upgrade scheduled by admin" is completed + And I wait until event "Package Install/Upgrade scheduled" is completed Scenario: Push a package with unset vendor through the SLES minion When I copy unset package file on "sle_minion" diff --git a/testsuite/features/secondary/srv_task_status_engine.feature b/testsuite/features/secondary/srv_task_status_engine.feature index 9fbe88ef474d..5fcaffe7a741 100644 --- a/testsuite/features/secondary/srv_task_status_engine.feature +++ b/testsuite/features/secondary/srv_task_status_engine.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2022-2023 SUSE LLC +# Copyright (c) 2022-2024 SUSE LLC # Licensed under the terms of the MIT license. Feature: Task Engine Status @@ -14,7 +14,7 @@ Feature: Task Engine Status And I should see a "Runtime Status" text And I should see a "Last Execution Times" link in the left menu And I should see a "Runtime Status" link in the left menu - + @uyuni Scenario: Check if the Task Engine Status page exists When I follow the left menu "Admin > Task Engine Status > Last Execution Times" @@ -31,7 +31,7 @@ Feature: Task Engine Status And I should see a "The server is running or has finished executing the following tasks during the latest 5 minutes." text And I should see a "Last Execution Times" link in the left menu And I should see a "Runtime Status" link in the left menu - + Scenario: Run a remote command on the server to check if it shows up on Last Execution Times page When I follow the left menu "Admin > Task Engine Status > Last Execution Times" And I run "cobbler sync" on "server" diff --git a/testsuite/features/secondary/srv_user_configuration_salt_states.feature b/testsuite/features/secondary/srv_user_configuration_salt_states.feature index cb601e684688..2e2386aec04b 100644 --- a/testsuite/features/secondary/srv_user_configuration_salt_states.feature +++ b/testsuite/features/secondary/srv_user_configuration_salt_states.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -6,6 +6,9 @@ @scope_salt Feature: Create organizations, users, groups, and activation keys using Salt states + Scenario: Log in as org admin user + Given I am authorized + @skip_if_containerized_server Scenario: Apply configuration salt state to server When I manually install the "uyuni-config" formula on the server diff --git a/testsuite/features/secondary/srv_virtual_host_manager.feature b/testsuite/features/secondary/srv_virtual_host_manager.feature index ef35cf88e4fe..e26a4a8db7a7 100644 --- a/testsuite/features/secondary/srv_virtual_host_manager.feature +++ b/testsuite/features/secondary/srv_virtual_host_manager.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2017-2021 SUSE LLC +# Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. @skip_if_github_validation @@ -6,8 +6,8 @@ @scope_virtual_host_manager Feature: Virtual host manager web UI - Scenario: Log in as admin user - Given I am authorized for the "Admin" section + Scenario: Log in as org admin user + Given I am authorized Scenario: Check the VHM page When I follow the left menu "Systems > Virtual Host Managers" diff --git a/testsuite/features/step_definitions/navigation_steps.rb b/testsuite/features/step_definitions/navigation_steps.rb index 07bbcc6c8677..9b5a1ae6a1a4 100644 --- a/testsuite/features/step_definitions/navigation_steps.rb +++ b/testsuite/features/step_definitions/navigation_steps.rb @@ -389,6 +389,8 @@ Given(/^I am not authorized$/) do begin + xpath_logout = '//a[@href=\'/rhn/Logout.do\']' + find(:xpath, xpath_logout).click if has_xpath?(xpath_logout) page.reset! rescue NoMethodError log 'The browser session could not be cleaned.' @@ -415,6 +417,8 @@ step 'I am authorized as "admin" with password "admin"' when 'Images' step 'I am authorized as "kiwikiwi" with password "kiwikiwi"' + when 'Docker' + step 'I am authorized as "docker" with password "docker"' else log "Section #{section} not supported" end @@ -552,7 +556,7 @@ end Given(/^I am authorized$/) do - step 'I am authorized as "testing" with password "testing"' + step %(I am authorized as "#{$current_user}" with password "#{$current_password}") end When(/^I sign out$/) do diff --git a/testsuite/features/support/api_test.rb b/testsuite/features/support/api_test.rb index ece4aaaf284c..918e5ca3a335 100644 --- a/testsuite/features/support/api_test.rb +++ b/testsuite/features/support/api_test.rb @@ -1,4 +1,4 @@ -# Copyright (c) 2022-2023 SUSE LLC. +# Copyright (c) 2022-2024 SUSE LLC. # Licensed under the terms of the MIT license. require_relative 'namespaces/actionchain' @@ -14,6 +14,7 @@ require_relative 'namespaces/user' require_relative 'xmlrpc_client' require_relative 'http_client' +require 'date' # Abstract parent class describing an API test class ApiTest @@ -59,15 +60,40 @@ def call(name, *params) thread = Thread.new do @semaphore.synchronize do - @token = @connection.call('auth.login', login: 'admin', password: 'admin') - params[0][:sessionKey] = @token - response = @connection.call(name, *params) - @connection.call('auth.logout', sessionKey: @token) + begin + manage_api_lock(name) + response = make_api_call(name, *params) + ensure + @connection.call('auth.logout', sessionKey: @token) if @token + api_unlock if name.include?('user.') + end response end end thread.value end + + private + + # Handles API lock management + def manage_api_lock(name) + if name.include?('user.') + repeat_until_timeout(timeout: DEFAULT_TIMEOUT, message: 'We couldn\'t get access to the API') do + break unless api_lock? + + sleep 1 + end + @token = @connection.call('auth.login', login: 'admin', password: 'admin') + else + @token = @connection.call('auth.login', login: $current_user, password: $current_password) + end + end + + # Makes the actual API call + def make_api_call(name, *params) + params[0][:sessionKey] = @token + @connection.call(name, *params) + end end # Derived class for an XML-RPC test @@ -115,12 +141,11 @@ def initialize(host, ssl_verify = true) # @return [Boolean] Whether the attribute is a valid Date or not. def date?(attribute) begin - ok = true Date.parse(attribute) + true rescue ArgumentError - ok = false + false end - ok end # It returns a string with the current date and time in the format `YYYY-MM-DDTHH:MM:SS.LLL+HHMM` diff --git a/testsuite/features/support/commonlib.rb b/testsuite/features/support/commonlib.rb index 3246105b84c7..06483c9650a5 100644 --- a/testsuite/features/support/commonlib.rb +++ b/testsuite/features/support/commonlib.rb @@ -728,3 +728,17 @@ def filter_channels(channels, filters = []) end channels end + +# Mutex for processes accessing the API of the server via admin user +def api_lock? + File.open('server_api_call.lock', File::CREAT) do |file| + return !file.flock(File::LOCK_EX) + end +end + +# Unlock the Mutex for processes accessing the API of the server via admin user +def api_unlock + File.open('server_api_call.lock') do |file| + file.flock(File::LOCK_UN) + end +end diff --git a/testsuite/features/support/env.rb b/testsuite/features/support/env.rb index 0389951faf24..dd4cf385868c 100644 --- a/testsuite/features/support/env.rb +++ b/testsuite/features/support/env.rb @@ -25,7 +25,6 @@ # code coverage analysis # SimpleCov.start -server = ENV.fetch('SERVER', nil) if ENV['DEBUG'] $debug_mode = true $stdout.puts('DEBUG MODE ENABLED.') @@ -95,6 +94,7 @@ def capybara_register_driver end end +# register chromedriver headless mode $capybara_driver = capybara_register_driver Selenium::WebDriver.logger.level = :error unless $debug_mode Capybara.default_driver = :selenium_chrome_headless @@ -102,7 +102,7 @@ def capybara_register_driver Capybara.default_normalize_ws = true Capybara.enable_aria_label = true Capybara.automatic_label_click = true -Capybara.app_host = "https://#{server}" +Capybara.app_host = "https://#{ENV.fetch('SERVER', nil)}" Capybara.server_port = 8888 + ENV['TEST_ENV_NUMBER'].to_i $stdout.puts "Capybara APP Host: #{Capybara.app_host}:#{Capybara.server_port}" @@ -198,6 +198,22 @@ def process_code_coverage skip_this_scenario end +# Create a user for each feature +Before do |scenario| + feature_path = scenario.location.file + $feature_filename = feature_path.split(%r{(\.feature|/)})[-2] + next if get_context('user_created') == true + + # Core features are always handled using admin user, the rest will use its own user based on feature filename + if (feature_path.include? 'core') || (feature_path.include? 'reposync') || (feature_path.include? 'finishing') + $current_user = 'admin' + $current_password = 'admin' + else + step %(I create a user with name "#{$feature_filename}" and password "linux") + add_context('user_created', true) + end +end + # do some tests only if the corresponding node exists Before('@proxy') do skip_this_scenario unless ENV.key? ENV_VAR_BY_HOST['proxy']