Blob Blame History Raw
From d59a031264c5b30ce2686d2c2bd6d756b05ebcc8 Mon Sep 17 00:00:00 2001
From: root <root@ipa.example.test>
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