def test_recursive_query_basic_success(self): resolver = dns.resolver.Resolver() domain = dns.name.from_text('example.com.') record_type = 'NS' good_response = unittest.mock.MagicMock() side_effect = [ None, good_response, None, ] with unittest.mock.patch.object( fierce, 'query', side_effect=side_effect) as mock_method: result = fierce.recursive_query(resolver, domain, record_type=record_type) expected = [ unittest.mock.call(resolver, 'example.com.', record_type, tcp=False), unittest.mock.call(resolver, 'com.', record_type, tcp=False), ] mock_method.assert_has_calls(expected) assert result == good_response
def test_recursive_query_long_domain_failure(self): resolver = dns.resolver.Resolver() domain = dns.name.from_text('sd1.sd2.example.com.') record_type = 'NS' with unittest.mock.patch.object(fierce, 'query', return_value=None) as mock_method: result = fierce.recursive_query(resolver, domain, record_type=record_type) expected = [ unittest.mock.call(resolver, 'sd1.sd2.example.com.', record_type, tcp=False), unittest.mock.call(resolver, 'sd2.example.com.', record_type, tcp=False), unittest.mock.call(resolver, 'example.com.', record_type, tcp=False), unittest.mock.call(resolver, 'com.', record_type, tcp=False), unittest.mock.call(resolver, '', record_type, tcp=False), ] mock_method.assert_has_calls(expected) assert result is None