Skip to content

Commit

Permalink
Addressing comments
Browse files Browse the repository at this point in the history
  • Loading branch information
damoore044 committed Nov 2, 2023
1 parent b999a80 commit 459a1d0
Showing 1 changed file with 11 additions and 15 deletions.
26 changes: 11 additions & 15 deletions tests/foreman/ui/test_errata.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,31 +64,27 @@ def _generate_errata_applicability(hostname):
host.errata_applicability(synchronous=False)


def _install_client_package(client, package, errata_applicability=False):
def _install_client_package(client, package):
"""Install a package in virtual machine client.
Errata applicability regenerated after successful yum execution.
:param client: The Virtual machine client.
:param package: the package to install in virtual machine client.
:param errata_applicability: If True, force host to generate errata applicability.
:returns: True if package installed successfully, False otherwise.
"""
result = client.execute(f'yum install -y {package}')
if errata_applicability:
_generate_errata_applicability(client.hostname)
return result.status == 0


def _remove_client_package(client, package, errata_applicability=False):
def _remove_client_package(client, package):
"""Remove a package in virtual machine client.
Errata applicability regenerated after successful yum execution.
:param client: The Virtual machine client.
:param package: the package (full version, or name) to remove from virtual machine client.
:param errata_applicability: If True, force host to generate errata applicability.
:returns: True if a package was removed successfully, False otherwise.
"""
result = client.execute(f'yum remove -y {package}')
if errata_applicability:
_generate_errata_applicability(client.hostname)
return result.status == 0


Expand Down Expand Up @@ -215,7 +211,6 @@ def registered_contenthost(

result = rhel_contenthost.register(
activation_keys=activation_key.name,
lifecycle_environment=module_lce,
target=module_target_sat,
org=module_org,
loc=None,
Expand Down Expand Up @@ -294,12 +289,12 @@ def test_end_to_end(
_repository = _product.repository[-1].read()
# Remove custom package if present, then install outdated version
_remove_client_package(registered_contenthost, FAKE_1_CUSTOM_PACKAGE_NAME)
assert _install_client_package(
registered_contenthost, FAKE_1_CUSTOM_PACKAGE, errata_applicability=True
)
assert _install_client_package(registered_contenthost, FAKE_1_CUSTOM_PACKAGE)
assert (
registered_contenthost.applicable_errata_count == 1
), 'Expected only one applicable errata after setup.'
appl_errata := registered_contenthost.applicable_errata_count
) == 1, (
f'Expected one applicable errata: {CUSTOM_REPO_ERRATA_ID}, after setup. Got {appl_errata}'
)

with session:

Expand Down Expand Up @@ -327,7 +322,7 @@ def test_end_to_end(
== ERRATA_PACKAGES['module_stream_packages']
)

# Install Errata, find REX install task
# Apply Errata, find REX install task
session.host_new.apply_erratas(
entity_name=registered_contenthost.hostname,
search=f"errata_id == {CUSTOM_REPO_ERRATA_ID}",
Expand Down Expand Up @@ -370,6 +365,7 @@ def test_end_to_end(
bulk_gen_end = datetime.strptime(task_status['ended_at'], _UTC_format)
assert (bulk_gen_start - install_end).total_seconds() <= 30
assert (bulk_gen_end - bulk_gen_start).total_seconds() <= 60

# Errata should still be visible on satellite, but not on contenthost
assert session.errata.read(CUSTOM_REPO_ERRATA_ID)
assert not session.errata.search_content_hosts(
Expand Down

0 comments on commit 459a1d0

Please sign in to comment.