60 lines
2.4 KiB
Diff
60 lines
2.4 KiB
Diff
|
Index: python-email-validator-2.0.0/email_validator/deliverability.py
|
||
|
===================================================================
|
||
|
--- python-email-validator-2.0.0.orig/email_validator/deliverability.py
|
||
|
+++ python-email-validator-2.0.0/email_validator/deliverability.py
|
||
|
@@ -6,11 +6,11 @@ import dns.resolver
|
||
|
import dns.exception
|
||
|
|
||
|
|
||
|
-def caching_resolver(*, timeout: Optional[int] = None, cache=None):
|
||
|
+def caching_resolver(*, timeout: Optional[int] = None, cache=None, resolv=None):
|
||
|
if timeout is None:
|
||
|
from . import DEFAULT_TIMEOUT
|
||
|
timeout = DEFAULT_TIMEOUT
|
||
|
- resolver = dns.resolver.Resolver()
|
||
|
+ resolver = dns.resolver.Resolver(filename=resolv or '/etc/resolv.conf')
|
||
|
resolver.cache = cache or dns.resolver.LRUCache() # type: ignore
|
||
|
resolver.lifetime = timeout # type: ignore # timeout, in seconds
|
||
|
return resolver
|
||
|
Index: python-email-validator-2.0.0/tests/mocked_dns_response.py
|
||
|
===================================================================
|
||
|
--- python-email-validator-2.0.0.orig/tests/mocked_dns_response.py
|
||
|
+++ python-email-validator-2.0.0/tests/mocked_dns_response.py
|
||
|
@@ -1,5 +1,6 @@
|
||
|
import dns.resolver
|
||
|
import json
|
||
|
+import os
|
||
|
import os.path
|
||
|
import pytest
|
||
|
|
||
|
@@ -32,7 +33,8 @@ class MockedDnsResponseData:
|
||
|
|
||
|
# Return a new dns.resolver.Resolver configured for caching
|
||
|
# using the singleton instance.
|
||
|
- return caching_resolver(cache=MockedDnsResponseData.INSTANCE)
|
||
|
+ return caching_resolver(cache=MockedDnsResponseData.INSTANCE,
|
||
|
+ resolv=os.environ.get('RESOLV_FILE'))
|
||
|
|
||
|
def __init__(self):
|
||
|
self.data = {}
|
||
|
Index: python-email-validator-2.0.0/tests/test_deliverability.py
|
||
|
===================================================================
|
||
|
--- python-email-validator-2.0.0.orig/tests/test_deliverability.py
|
||
|
+++ python-email-validator-2.0.0/tests/test_deliverability.py
|
||
|
@@ -1,5 +1,6 @@
|
||
|
import pytest
|
||
|
import re
|
||
|
+import os
|
||
|
|
||
|
from email_validator import EmailUndeliverableError, \
|
||
|
validate_email, caching_resolver
|
||
|
@@ -73,7 +74,7 @@ def test_caching_dns_resolver():
|
||
|
self.cache[key] = value
|
||
|
|
||
|
cache = TestCache()
|
||
|
- resolver = caching_resolver(timeout=1, cache=cache)
|
||
|
+ resolver = caching_resolver(timeout=1, cache=cache, resolv=os.environ.get('RESOLV_FILE'))
|
||
|
validate_email("test@gmail.com", dns_resolver=resolver)
|
||
|
assert len(cache.cache) == 1
|
||
|
|