debian-forge/test/mod/test_util_rhsm.py
Christian Kellner f05078f66e global: fix PEP-8 formatting
This patch was generated by running `autopep8 --diff` on the
source tree and then applying the diff.
2022-08-05 09:41:05 +02:00

72 lines
2 KiB
Python

#
# Tests for the `osbuild.util.rhsm` module.
#
from io import StringIO
from osbuild.util.rhsm import Subscriptions
REPO_FILE = """[jpp]
name = Red Hat JBoss Portal
baseurl = https://cdn.redhat.com/1.0/$basearch/os
enabled = 0
gpgcheck = 1
gpgkey = file://
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/1-key.pem
sslclientcert = /etc/pki/entitlement/1.pem
metadata_expire = 86400
enabled_metadata = 0
[jws]
name = Red Hat JBoss Web
baseurl = https://cdn.redhat.com/$releasever/jws/1.0/$basearch/os
enabled = 0
gpgcheck = 1
gpgkey = file://
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/2-key.pem
sslclientcert = /etc/pki/entitlement/2.pem
metadata_expire = 86400
enabled_metadata = 0
"""
def test_from_host_system():
#
# Test the `ioctl_get_immutable()` helper and make sure it works
# as intended.
#
subscriptions = Subscriptions.parse_repo_file(StringIO(REPO_FILE))
rpm_url_cases = [
{
"url": "https://cdn.redhat.com/8/jws/1.0/risc_v/os/Packages/fishy-fish-1-1.el8.risc_v.rpm",
"success": True,
"key": "2"
},
{
"url": "https://cdn.redhat.com/8/jws/1.0/os/Packages/fishy-fish-1-1.el8.risc_v.rpm",
"success": False,
"key": ""
},
{
"url": "https://cdn.redhat.com/1.0/x86_64/os/Packages/aaa.rpm",
"success": True,
"key": "1"
},
]
for test_case in rpm_url_cases:
try:
secrets = subscriptions.get_secrets(test_case["url"])
except RuntimeError as e:
if not test_case["success"]:
continue
raise e
assert test_case["success"] # Verify this test case should pass
assert secrets["ssl_ca_cert"] == "/etc/rhsm/ca/redhat-uep.pem"
assert secrets["ssl_client_key"] == f'/etc/pki/entitlement/{test_case["key"]}-key.pem'
assert secrets["ssl_client_cert"] == f'/etc/pki/entitlement/{test_case["key"]}.pem'