Skip to content

Commit

Permalink
Merge branch 'master' into nilclass-publish
Browse files Browse the repository at this point in the history
  • Loading branch information
sambible authored Oct 3, 2023
2 parents cc45e8e + 89b779b commit f740a04
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 1 deletion.
12 changes: 11 additions & 1 deletion robottelo/cli/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,16 @@ def add_operating_system(cls, options=None):

return cls.execute(cls._construct_command(options))

@classmethod
def ping(cls, options=None):
"""
Display status of Satellite.
"""

cls.command_sub = 'ping'

return cls.execute(cls._construct_command(options))

@classmethod
def create(cls, options=None, timeout=None):
"""
Expand Down Expand Up @@ -419,6 +429,6 @@ def _construct_command(cls, options=None):
if isinstance(val, list):
val = ','.join(str(el) for el in val)
tail += f' --{key}="{val}"'
cmd = f"{cls.command_base} {cls.command_sub or ''} {tail.strip()} {cls.command_end or ''}"
cmd = f"{cls.command_base or ''} {cls.command_sub or ''} {tail.strip()} {cls.command_end or ''}"

return cmd
34 changes: 34 additions & 0 deletions tests/foreman/destructive/test_installer.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import pytest

from robottelo.config import settings
from robottelo.constants import SATELLITE_ANSWER_FILE
from robottelo.utils.installer import InstallerCommand

pytestmark = pytest.mark.destructive
Expand Down Expand Up @@ -154,3 +155,36 @@ def test_positive_mismatched_satellite_fqdn(target_sat, set_random_fqdn):
)
installer_command_output = target_sat.execute('satellite-installer').stderr
assert warning_message in str(installer_command_output)


def test_positive_installer_certs_regenerate(target_sat):
"""Ensure "satellite-installer --certs-regenerate true" command correctly generates
/etc/tomcat/cert-users.properties after editing answers file
:id: db6152c3-4459-425b-998d-4a7992ca1f72
:steps:
1. Update /etc/foreman-installer/scenarios.d/satellite-answers.yaml
2. Fill some empty strings in certs category for 'state'
3. Run satellite-installer --certs-regenerate true
4. hammer ping
:expectedresults: Correct generation of /etc/tomcat/cert-users.properties
:BZ: 1964037
:customerscenario: true
"""
target_sat.execute(f'sed -i "s/state: North Carolina/state: \'\'/g" {SATELLITE_ANSWER_FILE}')
result = target_sat.execute(f'grep state: {SATELLITE_ANSWER_FILE}')
assert "state: ''" in result.stdout
result = target_sat.install(
InstallerCommand(
'certs-update-all',
'certs-update-server',
'certs-update-server-ca',
certs_regenerate=['true'],
)
)
assert result.status == 0
assert 'FAIL' not in target_sat.cli.Base.ping()
6 changes: 6 additions & 0 deletions tests/foreman/maintain/test_health.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,11 +96,17 @@ def test_positive_health_check(sat_maintain):
1. Run satellite-maintain health check
:expectedresults: Health check should pass.
:BZ: 1956210
:customerscenario: true
"""
result = sat_maintain.cli.Health.check(options={'assumeyes': True})
assert result.status == 0
if 'paused tasks in the system' not in result.stdout:
assert 'FAIL' not in result.stdout
result = sat_maintain.execute('tail /var/log/foreman-proxy/proxy.log')
assert 'sslv3 alert bad certificate' not in result.stdout


@pytest.mark.include_capsule
Expand Down
27 changes: 27 additions & 0 deletions tests/foreman/maintain/test_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"""
from fauxfactory import gen_string
import pytest
from wait_for import wait_for

from robottelo.config import settings
from robottelo.constants import (
Expand Down Expand Up @@ -173,6 +174,10 @@ def test_positive_service_enable_disable(sat_maintain):
2. Run satellite-maintain service enable
:expectedresults: Services should enable/disable
:BZ: 1995783, 2055790
:customerscenario: true
"""
result = sat_maintain.cli.Service.stop()
assert 'FAIL' not in result.stdout
Expand All @@ -183,6 +188,28 @@ def test_positive_service_enable_disable(sat_maintain):
result = sat_maintain.cli.Service.enable()
assert 'FAIL' not in result.stdout
assert result.status == 0
sat_maintain.power_control(state='reboot')
if isinstance(sat_maintain, Satellite):
result, _ = wait_for(
sat_maintain.cli.Service.status,
func_kwargs={'options': {'brief': True, 'only': 'foreman.service'}},
fail_condition=lambda res: "FAIL" in res.stdout,
handle_exception=True,
delay=30,
timeout=300,
)
assert 'FAIL' not in sat_maintain.cli.Base.ping()
else:
result, _ = wait_for(
sat_maintain.cli.Service.status,
func_kwargs={'options': {'brief': True}},
fail_condition=lambda res: "FAIL" in res.stdout,
handle_exception=True,
delay=30,
timeout=300,
)
assert 'FAIL' not in result.stdout
assert result.status == 0


@pytest.mark.usefixtures('start_satellite_services')
Expand Down

0 comments on commit f740a04

Please sign in to comment.