summaryrefslogtreecommitdiff
path: root/tests/test_doh.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_doh.py')
-rw-r--r--tests/test_doh.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/tests/test_doh.py b/tests/test_doh.py
index b575054..9dc4cec 100644
--- a/tests/test_doh.py
+++ b/tests/test_doh.py
@@ -160,6 +160,18 @@ class DNSOverHTTPSTestCaseHttpx(unittest.TestCase):
timeout=4)
self.assertTrue(q.is_response(r))
+ def test_get_request_http1(self):
+ saved_have_http2 = dns.query._have_http2
+ try:
+ dns.query._have_http2 = False
+ nameserver_url = random.choice(KNOWN_ANYCAST_DOH_RESOLVER_URLS)
+ q = dns.message.make_query('example.com.', dns.rdatatype.A)
+ r = dns.query.https(q, nameserver_url, session=self.session, post=False,
+ timeout=4)
+ self.assertTrue(q.is_response(r))
+ finally:
+ dns.query._have_http2 = saved_have_http2
+
def test_post_request(self):
nameserver_url = random.choice(KNOWN_ANYCAST_DOH_RESOLVER_URLS)
q = dns.message.make_query('example.com.', dns.rdatatype.A)
@@ -186,7 +198,7 @@ class DNSOverHTTPSTestCaseHttpx(unittest.TestCase):
post=False, timeout=4)
self.assertTrue(q.is_response(r))
- def test_bootstrap_address(self):
+ def test_bootstrap_address_fails(self):
# We test this to see if v4 is available
if resolver_v4_addresses:
ip = '185.228.168.168'
@@ -198,10 +210,12 @@ class DNSOverHTTPSTestCaseHttpx(unittest.TestCase):
with self.assertRaises(httpx.ConnectError):
dns.query.https(q, invalid_tls_url, session=self.session,
timeout=4)
- # use host header
- r = dns.query.https(q, valid_tls_url, session=self.session,
+ # We can't do the Host header and SNI magic with httpx, but
+ # we are demanding httpx be used by providing a session, so
+ # we should get a NoDOH exception.
+ with self.assertRaises(dns.query.NoDOH):
+ dns.query.https(q, valid_tls_url, session=self.session,
bootstrap_address=ip, timeout=4)
- self.assertTrue(q.is_response(r))
def test_new_session(self):
nameserver_url = random.choice(KNOWN_ANYCAST_DOH_RESOLVER_URLS)