Skip to content

Commit

Permalink
Add tests for Facts component
Browse files Browse the repository at this point in the history
  • Loading branch information
shweta83 committed Jun 19, 2024
1 parent 2577467 commit 89a0db2
Show file tree
Hide file tree
Showing 2 changed files with 102 additions and 1 deletion.
47 changes: 46 additions & 1 deletion tests/foreman/cli/test_fact.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@
"""

from fauxfactory import gen_string
from fauxfactory import gen_ipaddr, gen_mac, gen_string
import pytest

from robottelo.config import settings

pytestmark = [pytest.mark.tier1]


Expand Down Expand Up @@ -61,3 +63,46 @@ def test_negative_list_by_name(module_target_sat):
assert (
module_target_sat.cli.Fact().list(options={'search': f'fact={gen_string("alpha")}'}) == []
)


@pytest.mark.no_containers
@pytest.mark.rhel_ver_list([settings.content_host.default_rhel_version])
def test_positive_update_client_facts(
module_target_sat, rhel_contenthost, module_org, module_location, module_activation_key
):
"""Update client facts and verify the facts are updated on Satellite.
:id: ea94ccb7-a125-4be3-932a-bfcb035d3604
:steps:
1. Add a new interface to the host.
2. Update the facts in Satellite.
3. Verify that the facts are updated in Satellite.
:expectedresults: Facts are successfully updated on the Satellite.
"""
mac_address = gen_mac(multicast=False)
ip = gen_ipaddr()
# # Create eth1 interface on the host
add_interface_command = (
f'ip link add eth1 type dummy && ifconfig eth1 hw ether {mac_address} &&'
f'ip addr add {ip}/24 brd + dev eth1 label eth1:1 &&'
'ip link set dev eth1 up'
)
result = rhel_contenthost.execute(add_interface_command)
assert result.status == 0
result = rhel_contenthost.api_register(
module_target_sat,
organization=module_org,
location=module_location,
activation_keys=[module_activation_key.name],
)
assert result.status == 0, f'Failed to register host: {result.stderr}'
host = (
module_target_sat.api.Host()
.search(query={'search': f'name={rhel_contenthost.hostname} '})[0]
.read()
)
rhel_contenthost.execute('subscription-manager facts --update')
facts = host.get_facts(data={'per_page': 10000})['results'][rhel_contenthost.hostname]
assert ip, mac_address.upper() in facts
56 changes: 56 additions & 0 deletions tests/foreman/ui/test_fact.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
"""Test class for Fact UI
:Requirement: Fact
:CaseAutomation: Automated
:CaseComponent: Fact
:Team: Rocket
:CaseImportance: High
"""

import pytest

from robottelo.config import settings


@pytest.mark.no_containers
@pytest.mark.rhel_ver_list([settings.content_host.default_rhel_version])
def test_positive_upload_host_facts(
module_target_sat,
rhel_contenthost,
module_sca_manifest_org,
module_location,
module_activation_key,
):
"""Verify Facts option is available on UI and it is successfully updated on Satellite after registration
:id: f32093d2-4088-4025-9623-adb3141bd770
:steps:
1. Register host to Satellite.
2. Navigate to the Host page and click on kebab.
3. Verify that the facts option is available and is updated on Satellite.
:expectedresults: Facts option is available in the Host UI and all the facts of the host are updated in Satellite.
:BZ: 2001552
:customerscenario: true
"""
with module_target_sat.ui_session() as session:
session.organization.select(module_sca_manifest_org.name)
session.location.select(module_location.name)
cmd = session.host.get_register_command(
{
'general.activation_keys': module_activation_key.name,
'general.insecure': True,
}
)
result = rhel_contenthost.execute(cmd)
assert result.status == 0, f'Failed to register host: {result.stderr}'
host_facts = session.host_new.get_host_facts(rhel_contenthost.hostname)
assert host_facts is not None

0 comments on commit 89a0db2

Please sign in to comment.