From aaea0689d724ae310e8169705c42e72e8bc92bb4 Mon Sep 17 00:00:00 2001 From: Satellite QE <115476073+Satellite-QE@users.noreply.github.com> Date: Wed, 31 Jan 2024 05:15:46 -0500 Subject: [PATCH] [6.15.z] CE-SAT-21616 and close-loop BZ1361309 (#13948) --- tests/foreman/cli/test_registration.py | 43 ++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/tests/foreman/cli/test_registration.py b/tests/foreman/cli/test_registration.py index 528c8ef7224..212be27b756 100644 --- a/tests/foreman/cli/test_registration.py +++ b/tests/foreman/cli/test_registration.py @@ -11,6 +11,9 @@ :Team: Rocket """ +import re + +from fauxfactory import gen_string import pytest from robottelo.config import settings @@ -167,6 +170,46 @@ def test_negative_register_twice(module_ak_with_cv, module_org, rhel_contenthost assert 'This system is already registered' in str(result.stderr) +@pytest.mark.rhel_ver_match('[^6]') +@pytest.mark.tier3 +def test_positive_force_register_twice(module_ak_with_cv, module_org, rhel_contenthost, target_sat): + """Register a host twice to Satellite, with force=true + + :id: 7ccd4efd-54bb-4207-9acf-4c6243a32fab + + :expectedresults: Host will be re-registered + + :parametrized: yes + + :BZ: 1361309 + + :customerscenario: true + """ + reg_id_pattern = r"The system has been registered with ID: ([^\n]*)" + name = gen_string('alpha') + ".example.com" + rhel_contenthost.execute(f'hostnamectl set-hostname {name}') + result = rhel_contenthost.register(module_org, None, module_ak_with_cv.name, target_sat) + reg_id_old = re.search(reg_id_pattern, result.stdout).group(1) + assert result.status == 0 + assert rhel_contenthost.subscribed + result = rhel_contenthost.register( + module_org, None, module_ak_with_cv.name, target_sat, force=True + ) + assert result.status == 0 + assert rhel_contenthost.subscribed + assert f'Unregistering from: {target_sat.hostname}' in str(result.stdout) + assert f'The registered system name is: {rhel_contenthost.hostname}' in str(result.stdout) + reg_id_new = re.search(reg_id_pattern, result.stdout).group(1) + assert f'The system has been registered with ID: {reg_id_new}' in str(result.stdout) + assert reg_id_new != reg_id_old + assert ( + target_sat.cli.Host.info({'name': rhel_contenthost.hostname})['subscription-information'][ + 'uuid' + ] + == reg_id_new + ) + + @pytest.mark.tier1 def test_negative_global_registration_without_ak(module_target_sat): """Attempt to register a host without ActivationKey