From d59a031264c5b30ce2686d2c2bd6d756b05ebcc8 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 7 Oct 2021 18:02:30 -0400 Subject: [PATCH] Work with existing resolve_rrsets and newer resolve_rrsets_nss Up to freeipa 4.8.9 resolve_rrsets is used to look up the ipa-ca values. After that, and in master, resovle_rrsets_nss is used instead. Handle both in the DNS mock testing. --- tests/test_ipa_dns.py | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/tests/test_ipa_dns.py b/tests/test_ipa_dns.py index b6a9610..91b15c2 100644 --- a/tests/test_ipa_dns.py +++ b/tests/test_ipa_dns.py @@ -27,6 +27,15 @@ from ipaserver.dns_data_management import ( IPA_DEFAULT_ADTRUST_SRV_REC ) +try: + # pylint: disable=unused-import + from ipaserver.install.installutils import resolve_rrsets_nss # noqa: F401 + # pylint: enable=unused-import +except ImportError: + resolve_rrsets_import = 'ipaserver.dns_data_management.resolve_rrsets' +else: + resolve_rrsets_import = 'ipaserver.install.installutils.resolve_rrsets_nss' + def add_srv_records(qname, port_map, priority=0, weight=100): rdlist = [] @@ -182,7 +191,7 @@ class TestDNSSystemRecords(BaseTest): 2. fake_query() overrides dns.resolver.query to simulate A, AAAA and TXT record lookups. """ - @patch('ipaserver.dns_data_management.resolve_rrsets') + @patch(resolve_rrsets_import) @patch('ipapython.dnsutil.query_srv') @patch('dns.resolver.query') def test_dnsrecords_single(self, mock_query, mock_query_srv, mock_rrset): @@ -217,7 +226,7 @@ class TestDNSSystemRecords(BaseTest): assert result.source == 'ipahealthcheck.ipa.idns' assert result.check == 'IPADNSSystemRecordsCheck' - @patch('ipaserver.dns_data_management.resolve_rrsets') + @patch(resolve_rrsets_import) @patch('ipapython.dnsutil.query_srv') @patch('dns.resolver.query') def test_dnsrecords_two(self, mock_query, mock_query_srv, mock_rrset): @@ -265,7 +274,7 @@ class TestDNSSystemRecords(BaseTest): assert result.source == 'ipahealthcheck.ipa.idns' assert result.check == 'IPADNSSystemRecordsCheck' - @patch('ipaserver.dns_data_management.resolve_rrsets') + @patch(resolve_rrsets_import) @patch('ipapython.dnsutil.query_srv') @patch('dns.resolver.query') def test_dnsrecords_three(self, mock_query, mock_query_srv, mock_rrset): @@ -323,7 +332,7 @@ class TestDNSSystemRecords(BaseTest): assert result.source == 'ipahealthcheck.ipa.idns' assert result.check == 'IPADNSSystemRecordsCheck' - @patch('ipaserver.dns_data_management.resolve_rrsets') + @patch(resolve_rrsets_import) @patch('ipapython.dnsutil.query_srv') @patch('dns.resolver.query') def test_dnsrecords_three_mixed(self, mock_query, mock_query_srv, @@ -379,7 +388,7 @@ class TestDNSSystemRecords(BaseTest): assert result.result == constants.SUCCESS assert result.source == 'ipahealthcheck.ipa.idns' - @patch('ipaserver.dns_data_management.resolve_rrsets') + @patch(resolve_rrsets_import) @patch('ipapython.dnsutil.query_srv') @patch('dns.resolver.query') def test_dnsrecords_missing_server(self, mock_query, mock_query_srv, @@ -445,7 +454,7 @@ class TestDNSSystemRecords(BaseTest): for result in warn: assert result.kw.get('msg') == 'Expected SRV record missing' - @patch('ipaserver.dns_data_management.resolve_rrsets') + @patch(resolve_rrsets_import) @patch('ipapython.dnsutil.query_srv') @patch('dns.resolver.query') def test_dnsrecords_missing_ipa_ca(self, mock_query, mock_query_srv, @@ -516,7 +525,7 @@ class TestDNSSystemRecords(BaseTest): assert result.kw.get('count') == 2 assert result.kw.get('expected') == 3 - @patch('ipaserver.dns_data_management.resolve_rrsets') + @patch(resolve_rrsets_import) @patch('ipapython.dnsutil.query_srv') @patch('dns.resolver.query') def test_dnsrecords_extra_srv(self, mock_query, mock_query_srv, @@ -586,7 +595,7 @@ class TestDNSSystemRecords(BaseTest): assert result.kw.get('msg') == \ 'Unexpected SRV entry in DNS' - @patch('ipaserver.dns_data_management.resolve_rrsets') + @patch(resolve_rrsets_import) @patch('ipapython.dnsutil.query_srv') @patch('dns.resolver.query') def test_dnsrecords_bad_realm(self, mock_query, mock_query_srv, @@ -626,7 +635,7 @@ class TestDNSSystemRecords(BaseTest): assert result.kw.get('msg') == 'expected realm missing' assert result.kw.get('key') == '\"FAKE_REALM\"' - @patch('ipaserver.dns_data_management.resolve_rrsets') + @patch(resolve_rrsets_import) @patch('ipapython.dnsutil.query_srv') @patch('dns.resolver.query') def test_dnsrecords_one_with_ad(self, mock_query, mock_query_srv, -- 2.27.0