diff options
Diffstat (limited to 'tests/test_doh.py')
-rw-r--r-- | tests/test_doh.py | 22 |
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) |