Skip to content

Commit

Permalink
[6.13.z] Installer Assertions in test context rather than in helper (#…
Browse files Browse the repository at this point in the history
…15461) (#15467)

Installer Assertions in test context rather than in helper (#15461)
  • Loading branch information
jyejare authored Jun 20, 2024
1 parent daa4abe commit 6190280
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 4 deletions.
5 changes: 1 addition & 4 deletions pytest_fixtures/core/sat_cap_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,6 @@ def installer_satellite(request):
:params request: A pytest request object and this fixture is looking for
broker object of class satellite
"""
sat_version = settings.server.version.release
if 'sanity' in request.config.option.markexpr:
sat = Satellite(settings.server.hostname)
else:
Expand All @@ -339,9 +338,7 @@ def installer_satellite(request):
release=settings.server.version.release,
snap=settings.server.version.snap,
)
sat.execute('dnf -y module enable satellite:el8 && dnf -y install satellite')
installed_version = sat.execute('rpm --query satellite').stdout
assert sat_version in installed_version
sat.install_satellite_or_capsule_package()
# Install Satellite
sat.execute(
InstallerCommand(
Expand Down
22 changes: 22 additions & 0 deletions robottelo/hosts.py
Original file line number Diff line number Diff line change
Expand Up @@ -1486,6 +1486,7 @@ def update_host_location(self, location):


class Capsule(ContentHost, CapsuleMixins):
product_rpm_name = 'satellite-capsule'
rex_key_path = '~foreman-proxy/.ssh/id_rsa_foreman_proxy.pub'

@property
Expand Down Expand Up @@ -1713,8 +1714,29 @@ def cli(self):
self._cli._configured = True
return self._cli

def enable_satellite_or_capsule_module_for_rhel8(self):
"""Enable Satellite/Capsule module for RHEL8.
Note: Make sure required repos are enabled before using this.
"""
if self.os_version.major == 8:
assert (
self.execute(
f'dnf -y module enable {self.product_rpm_name}:el{self.os_version.major}'
).status
== 0
)

def install_satellite_or_capsule_package(self):
"""Install Satellite/Capsule package. Also handles module enablement for RHEL8.
Note: Make sure required repos are enabled before using this.
"""
self.enable_satellite_or_capsule_module_for_rhel8()
assert self.execute(f'dnf -y install {self.product_rpm_name}').status == 0


class Satellite(Capsule, SatelliteMixins):
product_rpm_name = 'satellite'

def __init__(self, hostname=None, **kwargs):
hostname = hostname or settings.server.hostname # instance attr set by broker.Host
self.omitting_credentials = False
Expand Down

0 comments on commit 6190280

Please sign in to comment.