This patch was generated by running `autopep8 --diff` on the source tree and then applying the diff.
72 lines
2 KiB
Python
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'
|