diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index dd6543a0af9..34cd415c87a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,14 +5,14 @@ ci: repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.6.0 hooks: - id: trailing-whitespace exclude: tests/foreman/data/ - id: check-yaml - id: debug-statements - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.4.1 + rev: v0.4.3 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] @@ -28,6 +28,6 @@ repos: types: [text] require_serial: true - repo: https://github.com/gitleaks/gitleaks - rev: v8.18.0 + rev: v8.18.2 hooks: - id: gitleaks diff --git a/requirements.txt b/requirements.txt index 15fe6f6b26f..9cb4b6d15fd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,7 +23,7 @@ pytest-fixturecollection==0.1.2 pytest-ibutsu==2.2.4 PyYAML==6.0.1 requests==2.31.0 -tenacity==8.2.3 +tenacity==8.3.0 testimony==2.4.0 wait-for==1.2.0 wrapanapi==3.6.0 diff --git a/robottelo/constants/__init__.py b/robottelo/constants/__init__.py index 05571d2c3e3..2df7c554225 100644 --- a/robottelo/constants/__init__.py +++ b/robottelo/constants/__init__.py @@ -5,17 +5,6 @@ from box import Box from nailgun import entities - -# String Color codes -class Colored(Box): - YELLOW = '\033[1;33m' - REDLIGHT = '\033[3;31m' - REDDARK = '\033[1;31m' - GREEN = '\033[1;32m' - WHITELIGHT = '\033[1;30m' - RESET = '\033[0m' - - # This should be updated after each version branch SATELLITE_VERSION = "6.16" SATELLITE_OS_VERSION = "8" @@ -555,16 +544,16 @@ class Colored(Box): }, 'rhel9_bos': { 'id': 'rhel-9-for-x86_64-baseos-kickstart', - 'name': 'Red Hat Enterprise Linux 9 for x86_64 - BaseOS Kickstart 9.3', - 'version': '9.3', + 'name': 'Red Hat Enterprise Linux 9 for x86_64 - BaseOS Kickstart 9.4', + 'version': '9.4', 'reposet': REPOSET['kickstart']['rhel9_bos'], 'product': PRDS['rhel9'], 'distro': 'rhel9', }, 'rhel9_aps': { 'id': 'rhel-9-for-x86_64-appstream-kickstart', - 'name': 'Red Hat Enterprise Linux 9 for x86_64 - AppStream Kickstart 9.3', - 'version': '9.3', + 'name': 'Red Hat Enterprise Linux 9 for x86_64 - AppStream Kickstart 9.4', + 'version': '9.4', 'reposet': REPOSET['kickstart']['rhel9_aps'], 'product': PRDS['rhel9'], 'distro': 'rhel9', diff --git a/robottelo/host_helpers/cli_factory.py b/robottelo/host_helpers/cli_factory.py index 4e62d3d0708..0410b21c55f 100644 --- a/robottelo/host_helpers/cli_factory.py +++ b/robottelo/host_helpers/cli_factory.py @@ -696,7 +696,7 @@ def setup_org_for_a_custom_repo(self, options=None): 'repository-id': custom_repo['id'], } - def _setup_org_for_a_rh_repo(self, options=None): + def _setup_org_for_a_rh_repo(self, options=None, force=False): """Sets up Org for the given Red Hat repository by: 1. Checks if organization and lifecycle environment were given, otherwise @@ -792,7 +792,12 @@ def _setup_org_for_a_rh_repo(self, options=None): # Promote version1 to next env try: self._satellite.cli.ContentView.version_promote( - {'id': cvv['id'], 'organization-id': org_id, 'to-lifecycle-environment-id': env_id} + { + 'id': cvv['id'], + 'organization-id': org_id, + 'to-lifecycle-environment-id': env_id, + 'force': force, + } ) except CLIReturnCodeError as err: raise CLIFactoryError( @@ -845,7 +850,11 @@ def _setup_org_for_a_rh_repo(self, options=None): } def setup_org_for_a_rh_repo( - self, options=None, force_manifest_upload=False, force_use_cdn=False + self, + options=None, + force_manifest_upload=False, + force_use_cdn=False, + force=False, ): """Wrapper above ``_setup_org_for_a_rh_repo`` to use custom downstream repo instead of CDN's 'Satellite Capsule', 'Satellite Tools' and base OS repos if @@ -874,7 +883,7 @@ def setup_org_for_a_rh_repo( elif 'Satellite Capsule' in options.get('repository'): custom_repo_url = settings.repos.capsule_repo if force_use_cdn or settings.robottelo.cdn or not custom_repo_url: - return self._setup_org_for_a_rh_repo(options) + return self._setup_org_for_a_rh_repo(options, force) options['url'] = custom_repo_url result = self.setup_org_for_a_custom_repo(options) if force_manifest_upload: diff --git a/robottelo/utils/vault.py b/robottelo/utils/vault.py index 417fa2c13bd..0fe7eb7912b 100644 --- a/robottelo/utils/vault.py +++ b/robottelo/utils/vault.py @@ -64,7 +64,10 @@ def exec_vault_command(self, command: str, **kwargs): logger.error(f"Error! {self.HELP_TEXT}") sys.exit(1) if vcommand.stderr: - if 'Error revoking token' in verror: + if 'no such host' in verror: + logger.error("The Vault host is not reachable, check network availability.") + sys.exit() + elif 'Error revoking token' in verror: logger.info("Token is alredy revoked!") elif 'Error looking up token' in verror: logger.info("Vault is not logged in!") diff --git a/tests/foreman/api/test_reporttemplates.py b/tests/foreman/api/test_reporttemplates.py index 4e68af4ea34..b01cb74aff0 100644 --- a/tests/foreman/api/test_reporttemplates.py +++ b/tests/foreman/api/test_reporttemplates.py @@ -667,7 +667,7 @@ def test_positive_schedule_entitlements_report(setup_content, target_sat): @pytest.mark.no_containers @pytest.mark.tier3 -def test_positive_generate_job_report(setup_content, target_sat, rhel7_contenthost): +def test_positive_generate_job_report(setup_content, module_target_sat, content_hosts): """Generate a report using the Job - Invocation Report template. :id: 946c39db-3061-43d7-b922-1be61f0c7d93 @@ -686,17 +686,17 @@ def test_positive_generate_job_report(setup_content, target_sat, rhel7_contentho :customerscenario: true """ ak, org = setup_content - rhel7_contenthost.install_katello_ca(target_sat) - rhel7_contenthost.register_contenthost(org.label, ak.name) - rhel7_contenthost.add_rex_key(target_sat) - assert rhel7_contenthost.subscribed - # Run a Job on the Host + for host in content_hosts: + host.register(org, None, ak.name, module_target_sat) + host.add_rex_key(module_target_sat) + assert host.subscribed + # Run a Job on the Host template_id = ( - target_sat.api.JobTemplate() + module_target_sat.api.JobTemplate() .search(query={'search': 'name="Run Command - Script Default"'})[0] .id ) - job = target_sat.api.JobInvocation().run( + job = module_target_sat.api.JobInvocation().run( synchronous=False, data={ 'job_template_id': template_id, @@ -704,14 +704,14 @@ def test_positive_generate_job_report(setup_content, target_sat, rhel7_contentho 'command': 'pwd', }, 'targeting_type': 'static_query', - 'search_query': f'name = {rhel7_contenthost.hostname}', + 'search_query': f'name ^ ({content_hosts[0].hostname} && {content_hosts[1].hostname}', }, ) - target_sat.wait_for_tasks(f'resource_type = JobInvocation and resource_id = {job["id"]}') - result = target_sat.api.JobInvocation(id=job['id']).read() - assert result.succeeded == 1 + module_target_sat.wait_for_tasks(f'resource_type = JobInvocation and resource_id = {job["id"]}') + result = module_target_sat.api.JobInvocation(id=job['id']).read() + assert result.succeeded == 2 rt = ( - target_sat.api.ReportTemplate() + module_target_sat.api.ReportTemplate() .search(query={'search': 'name="Job - Invocation Report"'})[0] .read() ) @@ -722,8 +722,10 @@ def test_positive_generate_job_report(setup_content, target_sat, rhel7_contentho 'input_values': {"job_id": job["id"]}, } ) - assert res[0]['Host'] == rhel7_contenthost.hostname + assert res[0]['Host'] == content_hosts[0].hostname + assert res[1]['Host'] == content_hosts[1].hostname assert '/root' in res[0]['stdout'] + assert '/root' in res[1]['stdout'] @pytest.mark.tier2 diff --git a/tests/foreman/cli/test_computeresource_libvirt.py b/tests/foreman/cli/test_computeresource_libvirt.py index 656a8ed32ca..c36181711f4 100644 --- a/tests/foreman/cli/test_computeresource_libvirt.py +++ b/tests/foreman/cli/test_computeresource_libvirt.py @@ -162,7 +162,7 @@ def test_positive_list(libvirt_url, module_target_sat): ) assert comp_res['name'] result_list = module_target_sat.cli.ComputeResource.list( - {'search': 'name=%s' % comp_res['name']} + {'search': 'name={}'.format(comp_res['name'])} ) assert len(result_list) > 0 result = module_target_sat.cli.ComputeResource.exists(search=('name', comp_res['name'])) diff --git a/tests/foreman/cli/test_host.py b/tests/foreman/cli/test_host.py index 42cd5a0719b..0be5db461d8 100644 --- a/tests/foreman/cli/test_host.py +++ b/tests/foreman/cli/test_host.py @@ -360,13 +360,13 @@ def test_positive_crud_interface_by_id(target_sat, default_location, default_org mac = gen_mac(multicast=False) host = target_sat.cli_factory.make_fake_host({'domain-id': domain.id}) - number_of_interfaces = len(target_sat.cliHostInterface.list({'host-id': host['id']})) + number_of_interfaces = len(target_sat.cli.HostInterface.list({'host-id': host['id']})) - target_sat.cliHostInterface.create( + target_sat.cli.HostInterface.create( {'host-id': host['id'], 'domain-id': domain.id, 'mac': mac, 'type': 'interface'} ) host = target_sat.cli.Host.info({'id': host['id']}) - host_interface = target_sat.cliHostInterface.info( + host_interface = target_sat.cli.HostInterface.info( { 'host-id': host['id'], 'id': [ni for ni in host['network-interfaces'] if ni['mac-address'] == mac][0]['id'], @@ -375,14 +375,14 @@ def test_positive_crud_interface_by_id(target_sat, default_location, default_org assert host_interface['domain'] == domain.name assert host_interface['mac-address'] == mac assert ( - len(target_sat.cliHostInterface.list({'host-id': host['id']})) == number_of_interfaces + 1 + len(target_sat.cli.HostInterface.list({'host-id': host['id']})) == number_of_interfaces + 1 ) new_domain = target_sat.api.Domain( location=[default_location], organization=[default_org] ).create() new_mac = gen_mac(multicast=False) - target_sat.cliHostInterface.update( + target_sat.cli.HostInterface.update( { 'host-id': host['id'], 'id': host_interface['id'], @@ -390,7 +390,7 @@ def test_positive_crud_interface_by_id(target_sat, default_location, default_org 'mac': new_mac, } ) - host_interface = target_sat.cliHostInterface.info( + host_interface = target_sat.cli.HostInterface.info( { 'host-id': host['id'], 'id': [ni for ni in host['network-interfaces'] if ni['mac-address'] == mac][0]['id'], @@ -399,10 +399,10 @@ def test_positive_crud_interface_by_id(target_sat, default_location, default_org assert host_interface['domain'] == new_domain.name assert host_interface['mac-address'] == new_mac - target_sat.cliHostInterface.delete({'host-id': host['id'], 'id': host_interface['id']}) - assert len(target_sat.cliHostInterface.list({'host-id': host['id']})) == number_of_interfaces + target_sat.cli.HostInterface.delete({'host-id': host['id'], 'id': host_interface['id']}) + assert len(target_sat.cli.HostInterface.list({'host-id': host['id']})) == number_of_interfaces with pytest.raises(CLIReturnCodeError): - target_sat.cliHostInterface.info({'host-id': host['id'], 'id': host_interface['id']}) + target_sat.cli.HostInterface.info({'host-id': host['id'], 'id': host_interface['id']}) @pytest.mark.cli_host_create @@ -2699,3 +2699,36 @@ def test_positive_create_and_update_with_content_source( target_sat.cli.Capsule.content_synchronize({'name': module_capsule_configured.hostname}) assert rhel_contenthost.execute(f'dnf -y install {package}').status == 0 assert rhel_contenthost.execute(f'rpm -q {package}').status == 0 + + +@pytest.mark.cli_host_create +@pytest.mark.tier2 +def test_positive_create_host_with_lifecycle_environment_name( + module_lce, + module_org, + module_promoted_cv, + module_target_sat, +): + """Attempt to create a host with lifecycle-environment name specified + + :id: 7445ad21-538f-4357-8bd1-9676d2478633 + + :BZ: 2106256 + + :expectedresults: Host is created with no errors + + :customerscenario: true + + :CaseImportance: Medium + """ + found_host = False + new_host = module_target_sat.cli_factory.make_fake_host( + { + 'content-view-id': module_promoted_cv.id, + 'lifecycle-environment': module_lce.name, + 'organization-id': module_org.id, + } + ) + hosts = module_target_sat.cli.Host.list({'organization-id': module_org.id}) + found_host = any(new_host.name in i.values() for i in hosts) + assert found_host, 'Assertion failed: host not found' diff --git a/tests/foreman/cli/test_leapp_client.py b/tests/foreman/cli/test_leapp_client.py index e4402d3f6a9..64d22ac619a 100644 --- a/tests/foreman/cli/test_leapp_client.py +++ b/tests/foreman/cli/test_leapp_client.py @@ -6,7 +6,7 @@ :Team: Rocket -:CaseImportance: High +:CaseImportance: Critical :CaseAutomation: Automated @@ -25,7 +25,7 @@ RHEL7_VER = '7.9' RHEL8_VER = '8.9' -RHEL9_VER = '9.3' +RHEL9_VER = '9.4' RHEL_REPOS = { 'rhel7_server': { @@ -219,6 +219,7 @@ def precondition_check_upgrade_and_install_leapp_tool(custom_leapp_host): ) +@pytest.mark.e2e @pytest.mark.skip_if_open('SAT-24023') @pytest.mark.parametrize( 'upgrade_path', @@ -300,6 +301,7 @@ def test_leapp_upgrade_rhel( assert new_ver == upgrade_path['target_version'] +@pytest.mark.e2e @pytest.mark.skip_if_open('SAT-24023') @pytest.mark.parametrize( 'upgrade_path', diff --git a/tests/foreman/cli/test_reporttemplates.py b/tests/foreman/cli/test_reporttemplates.py index b1a92d67049..9aeaab34666 100644 --- a/tests/foreman/cli/test_reporttemplates.py +++ b/tests/foreman/cli/test_reporttemplates.py @@ -746,9 +746,10 @@ def test_positive_generate_ansible_template(module_target_sat): assert host['name'] in [item.split(',')[1] for item in report_data.split('\n') if len(item) > 0] +@pytest.mark.no_containers @pytest.mark.tier3 def test_positive_generate_entitlements_report_multiple_formats( - module_entitlement_manifest_org, local_ak, local_subscription, rhel7_contenthost, target_sat + module_sca_manifest_org, local_ak, local_subscription, rhel7_contenthost, target_sat ): """Generate an report using the Subscription - Entitlement Report template in html, yaml, and csv format. @@ -772,11 +773,11 @@ def test_positive_generate_entitlements_report_multiple_formats( """ client = rhel7_contenthost client.install_katello_ca(target_sat) - client.register_contenthost(module_entitlement_manifest_org.label, local_ak['name']) + client.register_contenthost(module_sca_manifest_org.label, local_ak['name']) assert client.subscribed result_html = target_sat.cli.ReportTemplate.generate( { - 'organization': module_entitlement_manifest_org.name, + 'organization': module_sca_manifest_org.name, 'name': 'Subscription - Entitlement Report', 'report-format': 'html', 'inputs': 'Days from Now=no limit', @@ -786,7 +787,7 @@ def test_positive_generate_entitlements_report_multiple_formats( assert local_subscription['name'] in result_html result_yaml = target_sat.cli.ReportTemplate.generate( { - 'organization': module_entitlement_manifest_org.name, + 'organization': module_sca_manifest_org.name, 'name': 'Subscription - Entitlement Report', 'report-format': 'yaml', 'inputs': 'Days from Now=no limit', @@ -799,7 +800,7 @@ def test_positive_generate_entitlements_report_multiple_formats( assert local_subscription['name'] in entry result_csv = target_sat.cli.ReportTemplate.generate( { - 'organization': module_entitlement_manifest_org.name, + 'organization': module_sca_manifest_org.name, 'name': 'Subscription - Entitlement Report', 'report-format': 'csv', 'inputs': 'Days from Now=no limit', @@ -924,7 +925,8 @@ def test_positive_generate_hostpkgcompare( 'content-view-id': local_content_view['id'], 'lifecycle-environment-id': local_environment['id'], 'activationkey-id': local_ak['id'], - } + }, + force=True, ) target_sat.cli_factory.setup_org_for_a_custom_repo( { diff --git a/tests/foreman/ui/test_computeprofiles.py b/tests/foreman/ui/test_computeprofiles.py index 0f0cb99c1ea..551f003316f 100644 --- a/tests/foreman/ui/test_computeprofiles.py +++ b/tests/foreman/ui/test_computeprofiles.py @@ -16,6 +16,7 @@ import pytest +@pytest.mark.e2e @pytest.mark.tier2 @pytest.mark.upgrade def test_positive_end_to_end(session, module_location, module_org, module_target_sat): diff --git a/tests/foreman/ui/test_computeresource.py b/tests/foreman/ui/test_computeresource.py index b39cc00e3a6..e9372012d69 100644 --- a/tests/foreman/ui/test_computeresource.py +++ b/tests/foreman/ui/test_computeresource.py @@ -48,7 +48,7 @@ def rhev_data(): @pytest.mark.tier2 -def test_positive_end_to_end(session, rhev_data, module_org, module_location, module_target_sat): +def test_positive_end_to_end(session, rhev_data, module_target_sat): """Perform end to end testing for compute resource RHEV. :id: 3c079675-e5d3-490e-9b7e-1c2950f9965d @@ -361,8 +361,9 @@ def test_positive_update_organization(session, rhev_data, module_location, modul assert new_organization.name in resource_values['organizations']['resources']['assigned'] +@pytest.mark.e2e @pytest.mark.tier2 -def test_positive_image_end_to_end(session, rhev_data, module_location, target_sat): +def test_positive_image_end_to_end(session, rhev_data, target_sat): """Perform end to end testing for compute resource RHV component image. :id: 62a5c52f-dd15-45e7-8200-c64bb335474f diff --git a/tests/foreman/ui/test_computeresource_azurerm.py b/tests/foreman/ui/test_computeresource_azurerm.py index 5d09ad88a69..4157a3bad87 100644 --- a/tests/foreman/ui/test_computeresource_azurerm.py +++ b/tests/foreman/ui/test_computeresource_azurerm.py @@ -74,10 +74,10 @@ def module_azure_hg( ).create() +@pytest.mark.e2e @pytest.mark.tier4 @pytest.mark.parametrize('sat_azure', ['sat'], indirect=True) def test_positive_end_to_end_azurerm_ft_host_provision( - session, sat_azure, azurermclient, module_azurerm_custom_finishimg, @@ -151,13 +151,13 @@ def test_positive_end_to_end_azurerm_ft_host_provision( raise error +@pytest.mark.e2e @pytest.mark.tier3 @pytest.mark.upgrade @pytest.mark.parametrize( 'sat_azure', ['sat', 'puppet_sat'], indirect=True, ids=['satellite', 'puppet_enabled'] ) def test_positive_azurerm_host_provision_ud( - session, sat_azure, azurermclient, module_azurerm_cloudimg, diff --git a/tests/foreman/ui/test_computeresource_ec2.py b/tests/foreman/ui/test_computeresource_ec2.py index 1dae4eb7492..cf6f1f29237 100644 --- a/tests/foreman/ui/test_computeresource_ec2.py +++ b/tests/foreman/ui/test_computeresource_ec2.py @@ -40,6 +40,7 @@ def module_ec2_settings(): ) +@pytest.mark.e2e @pytest.mark.tier2 @pytest.mark.skip_if_not_set('http_proxy') @pytest.mark.skip_if_open("BZ:2032530") diff --git a/tests/foreman/ui/test_computeresource_gce.py b/tests/foreman/ui/test_computeresource_gce.py index 4c48e902809..499a015d29e 100644 --- a/tests/foreman/ui/test_computeresource_gce.py +++ b/tests/foreman/ui/test_computeresource_gce.py @@ -29,11 +29,12 @@ ) +@pytest.mark.e2e @pytest.mark.tier2 @pytest.mark.upgrade @pytest.mark.skip_if_not_set('http_proxy', 'gce') def test_positive_default_end_to_end_with_custom_profile( - session, sat_gce_org, sat_gce_loc, gce_cert, sat_gce + sat_gce_org, sat_gce_loc, gce_cert, sat_gce ): """Create GCE compute resource with default properties and apply it's basic functionality. @@ -140,12 +141,12 @@ def test_positive_default_end_to_end_with_custom_profile( assert not session.computeresource.search(new_cr_name) +@pytest.mark.e2e @pytest.mark.tier4 @pytest.mark.run_in_one_thread @pytest.mark.skip_if_not_set('gce') @pytest.mark.parametrize('sat_gce', ['sat', 'puppet_sat'], indirect=True) def test_positive_gce_provision_end_to_end( - session, request, sat_gce, sat_gce_org, @@ -225,13 +226,13 @@ def _finalize(): assert gceapi_vm.is_stopping or gceapi_vm.is_stopped +@pytest.mark.e2e @pytest.mark.tier4 @pytest.mark.upgrade @pytest.mark.run_in_one_thread @pytest.mark.skip_if_not_set('gce') @pytest.mark.parametrize('sat_gce', ['sat', 'puppet_sat'], indirect=True) def test_positive_gce_cloudinit_provision_end_to_end( - session, request, sat_gce, sat_gce_org, diff --git a/tests/foreman/ui/test_computeresource_libvirt.py b/tests/foreman/ui/test_computeresource_libvirt.py index 8328f1a4cf1..22e5ffdf0f4 100644 --- a/tests/foreman/ui/test_computeresource_libvirt.py +++ b/tests/foreman/ui/test_computeresource_libvirt.py @@ -118,13 +118,13 @@ def test_positive_end_to_end(session, module_target_sat, module_org, module_loca assert not session.computeresource.search(new_cr_name) +@pytest.mark.e2e @pytest.mark.on_premises_provisioning @pytest.mark.tier4 @pytest.mark.rhel_ver_match('[^6]') @pytest.mark.parametrize('setting_update', ['destroy_vm_on_host_delete=True'], indirect=True) def test_positive_provision_end_to_end( request, - session, setting_update, module_sca_manifest_org, module_location, @@ -155,7 +155,9 @@ def test_positive_provision_end_to_end( location=[module_location], organization=[module_sca_manifest_org], ).create() - with session: + with sat.ui_session() as session: + session.organization.select(module_sca_manifest_org.name) + session.location.select(module_location.name) session.host.create( { 'host.name': hostname, diff --git a/tests/foreman/ui/test_config_group.py b/tests/foreman/ui/test_config_group.py index 34e6b32b9c9..b27788ccd86 100644 --- a/tests/foreman/ui/test_config_group.py +++ b/tests/foreman/ui/test_config_group.py @@ -21,6 +21,7 @@ def module_puppet_class(session_puppet_enabled_sat): return session_puppet_enabled_sat.api.PuppetClass().create() +@pytest.mark.e2e @pytest.mark.tier2 @pytest.mark.upgrade def test_positive_end_to_end(session_puppet_enabled_sat, module_puppet_class): diff --git a/tests/foreman/ui/test_discoveryrule.py b/tests/foreman/ui/test_discoveryrule.py index 85958d57e53..9720470a0d2 100644 --- a/tests/foreman/ui/test_discoveryrule.py +++ b/tests/foreman/ui/test_discoveryrule.py @@ -63,6 +63,7 @@ def gen_int32(min_value=1): return gen_integer(min_value=min_value, max_value=max_value) +@pytest.mark.e2e @pytest.mark.tier2 def test_positive_crud_with_non_admin_user( module_location, manager_user, module_org, module_target_sat @@ -232,6 +233,7 @@ def test_positive_list_host_based_on_rule_search_query( assert values['properties']['properties_table']['IP Address'] == ip_address +@pytest.mark.e2e @pytest.mark.tier3 @pytest.mark.upgrade def test_positive_end_to_end(session, module_org, module_location, module_target_sat): diff --git a/tests/foreman/ui/test_operatingsystem.py b/tests/foreman/ui/test_operatingsystem.py index 71a030772c6..c5ed4a31e2e 100644 --- a/tests/foreman/ui/test_operatingsystem.py +++ b/tests/foreman/ui/test_operatingsystem.py @@ -18,6 +18,7 @@ from robottelo.utils.datafactory import gen_string +@pytest.mark.e2e @pytest.mark.tier2 def test_positive_end_to_end(session, module_org, module_location, target_sat): """Create all possible entities that required for operating system and then diff --git a/tests/foreman/ui/test_puppetclass.py b/tests/foreman/ui/test_puppetclass.py index 42ae2b359ab..0b3152330cf 100644 --- a/tests/foreman/ui/test_puppetclass.py +++ b/tests/foreman/ui/test_puppetclass.py @@ -16,6 +16,7 @@ import pytest +@pytest.mark.e2e @pytest.mark.tier2 @pytest.mark.upgrade def test_positive_end_to_end(session_puppet_enabled_sat, module_puppet_org, module_puppet_loc): diff --git a/tests/foreman/ui/test_puppetenvironment.py b/tests/foreman/ui/test_puppetenvironment.py index 6add5508549..1e7787f5505 100644 --- a/tests/foreman/ui/test_puppetenvironment.py +++ b/tests/foreman/ui/test_puppetenvironment.py @@ -18,6 +18,7 @@ from robottelo.utils.datafactory import gen_string +@pytest.mark.e2e @pytest.mark.upgrade @pytest.mark.tier2 def test_positive_end_to_end(session_puppet_enabled_sat, module_puppet_org, module_puppet_loc): diff --git a/tests/foreman/ui/test_smartclassparameter.py b/tests/foreman/ui/test_smartclassparameter.py index 7cfe14cd036..68fe2a50cfd 100644 --- a/tests/foreman/ui/test_smartclassparameter.py +++ b/tests/foreman/ui/test_smartclassparameter.py @@ -66,6 +66,7 @@ def module_domain(session_puppet_enabled_sat, module_host): return session_puppet_enabled_sat.api.Domain(id=module_host.domain.id).read() +@pytest.mark.e2e @pytest.mark.tier2 def test_positive_end_to_end(session_puppet_enabled_sat, module_puppet_classes, sc_params_list): """Perform end to end testing for smart class parameter component diff --git a/tests/foreman/ui/test_subnet.py b/tests/foreman/ui/test_subnet.py index c29bfcb850a..9eab769c82d 100644 --- a/tests/foreman/ui/test_subnet.py +++ b/tests/foreman/ui/test_subnet.py @@ -27,6 +27,7 @@ def module_dom(module_target_sat, module_org, module_location): d.delete() +@pytest.mark.e2e @pytest.mark.tier2 @pytest.mark.upgrade def test_positive_end_to_end(session, module_target_sat, module_dom):