Skip to content

Commit

Permalink
test: add insights-client test case for tags
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangqq-coder committed Sep 29, 2024
1 parent 125d22c commit b302b00
Showing 1 changed file with 75 additions and 0 deletions.
75 changes: 75 additions & 0 deletions integration-tests/test_tags.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
import pytest
import conftest
import contextlib
import os
import yaml

pytestmark = pytest.mark.usefixtures("register_subman")


def test_tags(insights_client, external_inventory, test_config):
"""
steps:
1. Register insights-client, and check satellite related
tags on the inventory if the test env is satellte.
2. Run insights-client with the --group
3. Add a new tag in tags.yaml, and run insights-client,
then check the inventory
:expectedresults:
1. system is registered to insights, and there will be
satellite related tags supported by branch_info with
satellite env.
2. tags.yaml will be created with group option, and new tag
generated by tags.yaml
3. The new tag shows on inventory by modifying tags.yaml
"""
# Remove the tags.yaml if it exists
with contextlib.suppress(FileNotFoundError):
os.remove("/etc/insights-client/tags.yaml")

# Register insights
insights_client.register()
assert conftest.loop_until(lambda: insights_client.is_registered)

# When test env is satellite, check the tags from branch_info
# the tags from satellite are not generated by tags.yaml
if "satellite" in test_config.environment:
insights_client.run()
system_tags = external_inventory.this_system_tags()
for tag in system_tags:
assert tag["namespace"] == "satellite"
assert not os.path.exists("/etc/insights-client/tags.yaml")

# Run insights-client --group
insights_client.run("--group=first_tag")
assert os.path.exists("/etc/insights-client/tags.yaml")

with open("/etc/insights-client/tags.yaml", "r") as tags_yaml:
data_loaded = yaml.safe_load(tags_yaml)
assert data_loaded["group"] == "first_tag"

# Check new tag from inventory
system_tags = external_inventory.this_system_tags()
assert {
"namespace": "insights-client",
"key": "group",
"value": "first_tag",
} in system_tags

# Add new tag in tags.yaml file and check on inventory
with open("/etc/insights-client/tags.yaml", "r") as tags_yaml:
data_loaded = yaml.safe_load(tags_yaml)
data_loaded["add_by_file"] = "second_tag"
with open("/etc/insights-client/tags.yaml", "w") as tags_yaml:
yaml.dump(data_loaded, tags_yaml, default_flow_style=False)
insights_client.run()
system_tags = external_inventory.this_system_tags()
assert {
"namespace": "insights-client",
"key": "add_by_file",
"value": "second_tag",
} in system_tags

0 comments on commit b302b00

Please sign in to comment.