]> git.ipfire.org Git - thirdparty/dnspython.git/commitdiff
Checking for network access and disabling certain tests that require it to facilitate... 132/head
authorDavid Della Vecchia <ddv@canonical.com>
Wed, 16 Dec 2015 14:53:55 +0000 (09:53 -0500)
committerDavid Della Vecchia <ddv@canonical.com>
Wed, 16 Dec 2015 14:53:55 +0000 (09:53 -0500)
tests/test_resolver.py

index f3c0d35a952d85511b99e8bd2d575d34f42cfcb6..4817f6ef7be008df3103be955dc9996ba042b730 100644 (file)
@@ -18,6 +18,7 @@ import select
 import sys
 import time
 import unittest
+import urllib
 
 import dns.name
 import dns.message
@@ -47,6 +48,13 @@ example. 1 IN A 10.0.0.1
 ;ADDITIONAL
 """
 
+try:
+    with network = urllib.request.urlopen('http://www.dnspython.org/',
+                                  timeout=1) as response:
+        network = (response.getcode() == 200)
+except urllib.error.URLError:
+    network = False
+
 class FakeAnswer(object):
     def __init__(self, expiration):
         self.expiration = expiration
@@ -82,18 +90,21 @@ class BaseResolverTests(object):
         self.assertTrue(cache.get((name, dns.rdatatype.A, dns.rdataclass.IN))
                         is None)
 
+    @unittest.skipUnless(network, "requires network access")
     def testZoneForName1(self):
         name = dns.name.from_text('www.dnspython.org.')
         ezname = dns.name.from_text('dnspython.org.')
         zname = dns.resolver.zone_for_name(name)
         self.assertTrue(zname == ezname)
 
+    @unittest.skipUnless(network, "requires network access")
     def testZoneForName2(self):
         name = dns.name.from_text('a.b.www.dnspython.org.')
         ezname = dns.name.from_text('dnspython.org.')
         zname = dns.resolver.zone_for_name(name)
         self.assertTrue(zname == ezname)
 
+    @unittest.skipUnless(network, "requires network access")
     def testZoneForName3(self):
         name = dns.name.from_text('dnspython.org.')
         ezname = dns.name.from_text('dnspython.org.')