Skip to content

Commit

Permalink
Set the registry FQDN for the smt server optional
Browse files Browse the repository at this point in the history
Add a test to ensure that behavior
  • Loading branch information
jesusbv committed May 24, 2024
1 parent 35ee66a commit cc26034
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 1 deletion.
5 changes: 4 additions & 1 deletion lib/cloudregister/smt.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,11 @@ def __init__(self, smtXMLNode, https_only=False):
self._region = smtXMLNode.attrib['region']
except KeyError:
self._region = 'unknown'
try:
self._registry_fqdn = smtXMLNode.attrib['SMTregistryName']
except KeyError:
self._registry_fqdn = ''
self._fqdn = smtXMLNode.attrib['SMTserverName']
self._registry_fqdn = smtXMLNode.attrib['SMTregistryName']
self._fingerprint = smtXMLNode.attrib['fingerprint']
self._cert = None
self._cert_names = ('smt.crt', 'rmt.crt')
Expand Down
34 changes: 34 additions & 0 deletions tests/test_registerutils.py
Original file line number Diff line number Diff line change
Expand Up @@ -649,6 +649,40 @@ def test_add_hosts_entry(mock_has_rmt_ipv6_access):
]


@patch('cloudregister.registerutils.has_rmt_ipv6_access')
def test_add_hosts_entry_no_registry(mock_has_rmt_ipv6_access):
"""Test hosts entry has a new entry added by us."""
smt_data_ipv46 = dedent('''\
<smtInfo fingerprint="00:11:22:33"
SMTserverIP="192.168.1.1"
SMTserverIPv6="fc00::1"
SMTserverName="fantasy.example.com"
region="antarctica-1"/>''')

smt_server = SMT(etree.fromstring(smt_data_ipv46))
mock_has_rmt_ipv6_access.return_value = True
with patch('builtins.open', create=True) as mock_open:
mock_open.return_value = MagicMock(spec=io.IOBase)
file_handle = mock_open.return_value.__enter__.return_value
utils.add_hosts_entry(smt_server)
mock_open.assert_called_once_with('/etc/hosts', 'a')
file_content_comment = (
'\n# Added by SMT registration do not remove, '
'retain comment as well\n'
)
file_content_entry = (
'{ip}\t{fqdn}\t{name}\n'.format(
ip=smt_server.get_ipv6(),
fqdn=smt_server.get_FQDN(),
name=smt_server.get_name(),
)
)
assert file_handle.write.mock_calls == [
call(file_content_comment),
call(file_content_entry)
]


@patch('cloudregister.registerutils.has_rmt_ipv6_access')
def test_add_hosts_entry_registry_optional_empty(mock_has_ipv6_access):
"""Test hosts entry has a new entry added by us."""
Expand Down

0 comments on commit cc26034

Please sign in to comment.