diff --git a/modoboa/admin/lib.py b/modoboa/admin/lib.py index 9991d6110..a8aabd51d 100644 --- a/modoboa/admin/lib.py +++ b/modoboa/admin/lib.py @@ -198,23 +198,24 @@ def get_domain_mx_list(domain): omit_final_dot=True, idna_codec=IDNA_2008_UTS_46) ip_answers = dns.resolver.query(mx_domain) except dns.resolver.NXDOMAIN as e: - logger.error(_("No DNS records found without MX for %s") % domain, exc_info=e) + logger.error(_("No DNS records found without MX for %s") + % domain, exc_info=e) else: for ip_answer in ip_answers: for answer_set in ip_answer.response.answer: for address in answer_set: try: - mx_ip = ipaddress.ip_address(smart_text(address)) + address_smart = smart_text(address) + mx_ip = ipaddress.ip_address(address_smart) except ValueError as e: logger.warning( - _("Invalid IP address format for %(domain)s; " - "%(addr)s") + _("Invalid IP address format for " + "%(domain)s; %(addr)s") % {"domain": mx_domain, "addr": smart_text(address)}, exc_info=e) else: - result.append((mx_domain, mx_ip)) - + result.append((mx_domain, mx_ip)) return result diff --git a/modoboa/admin/tests/test_mx.py b/modoboa/admin/tests/test_mx.py index 239aa7c43..b7bdc962f 100644 --- a/modoboa/admin/tests/test_mx.py +++ b/modoboa/admin/tests/test_mx.py @@ -117,12 +117,11 @@ class MXTestCase(ModoTestCase): self.set_global_parameter("use_specific_dns_server", "123.45.67.89") get_domain_mx_list("does-not-exist.example.com") - #@mock.patch("socket.getaddrinfo") @mock.patch("ipaddress.ip_address") @mock.patch.object(dns.resolver.Resolver, "query") def test_get_domain_mx_list_logging(self, mock_query, mock_ip_address): + """Test to get error loggins from specific DNS server.""" mock_query.side_effect = utils.mock_dns_query_result - #mock_getaddrinfo.side_effect = utils.mock_ip_query_result mock_ip_address.side_effect = utils.mock_ip_address_result with LogCapture("modoboa.admin") as log: get_domain_mx_list("does-not-exist.example.com") @@ -142,11 +141,11 @@ class MXTestCase(ModoTestCase): _("DNS resolution timeout, unable to query %s at the moment") % "timeout.example.com"), ("modoboa.admin", "ERROR", - _("No DNS records found without MX for %(domain)s") - % {"domain": "no-lookup.example.com"}), + _("No DNS records found without MX for %(domain)s") + % {"domain": "no-lookup.example.com"}), ("modoboa.admin", "WARNING", - _("Invalid IP address format for %(domain)s; %(addr)s") - % {"domain": "bad-response.example.com", "addr": "000.0.0.0"}), + _("Invalid IP address format for %(domain)s; %(addr)s") + % {"domain": "bad-response.example.com", "addr": "000.0.0.0"}), )