You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ja...@apache.org on 2015/03/24 02:43:24 UTC
trafficserver git commit: Add test case for partially working DNS
resolver conf
Repository: trafficserver
Updated Branches:
refs/heads/master 55c1289c7 -> 1cfc9aeec
Add test case for partially working DNS resolver conf
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/1cfc9aee
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/1cfc9aee
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/1cfc9aee
Branch: refs/heads/master
Commit: 1cfc9aeec30e96e065faa7b143440b6500bc283b
Parents: 55c1289
Author: Thomas Jackson <ja...@apache.org>
Authored: Mon Mar 23 18:42:45 2015 -0700
Committer: Thomas Jackson <ja...@apache.org>
Committed: Mon Mar 23 18:42:45 2015 -0700
----------------------------------------------------------------------
ci/new_tsqa/tests/test_hostdb.py | 38 ++++++++++++++++++++++++++++++-----
1 file changed, 33 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/1cfc9aee/ci/new_tsqa/tests/test_hostdb.py
----------------------------------------------------------------------
diff --git a/ci/new_tsqa/tests/test_hostdb.py b/ci/new_tsqa/tests/test_hostdb.py
index 31b3705..46bec6a 100644
--- a/ci/new_tsqa/tests/test_hostdb.py
+++ b/ci/new_tsqa/tests/test_hostdb.py
@@ -27,29 +27,57 @@ import helpers
import tsqa.test_cases
-class TestHostDBFailedDNS(tsqa.test_cases.DynamicHTTPEndpointCase, helpers.EnvironmentCase):
+class TestHostDBPartiallyFailedDNS(helpers.EnvironmentCase):
'''
- Tests for how hostdb handles when there is no reachable resolver
+ Tests for how hostdb handles when there is one failed and one working resolver
'''
@classmethod
def setUpEnv(cls, env):
- cls.configs['remap.config'].add_line('map / http://some_nonexistant_domain:{0}/'.format(cls.http_endpoint.address[1]))
+ resolv_conf_path = os.path.join(env.layout.prefix, 'resolv.conf')
+
+ cls.configs['records.config']['CONFIG'].update({
+ 'proxy.config.http.response_server_enabled': 2, # only add server headers when there weren't any
+ 'proxy.config.hostdb.lookup_timeout': 1,
+ 'proxy.config.dns.resolv_conf': resolv_conf_path,
+ 'proxy.config.url_remap.remap_required': 0,
+
+ })
+
+ with open(resolv_conf_path, 'w') as fh:
+ fh.write('nameserver 1.1.1.0\n') # some non-existant nameserver
+ fh.write('nameserver 8.8.8.8\n') # some REAL nameserver
+ def test_working(self):
+ start = time.time()
+ ret = requests.get('http://trafficserver.readthedocs.org',
+ proxies=self.proxies,
+ )
+ self.assertLess(time.time() - start, self.configs['records.config']['CONFIG']['proxy.config.hostdb.lookup_timeout'])
+ self.assertEqual(ret.status_code, 200)
+
+
+class TestHostDBFailedDNS(helpers.EnvironmentCase):
+ '''
+ Tests for how hostdb handles when there is no reachable resolver
+ '''
+ @classmethod
+ def setUpEnv(cls, env):
resolv_conf_path = os.path.join(env.layout.prefix, 'resolv.conf')
cls.configs['records.config']['CONFIG'].update({
'proxy.config.http.response_server_enabled': 2, # only add server headers when there weren't any
'proxy.config.hostdb.lookup_timeout': 1,
'proxy.config.dns.resolv_conf': resolv_conf_path,
+ 'proxy.config.url_remap.remap_required': 0,
})
with open(resolv_conf_path, 'w') as fh:
- fh.write('nameserver 1.1.1.1\n') # some non-existant nameserver
+ fh.write('nameserver 1.1.1.0\n') # some non-existant nameserver
def test_lookup_timeout(self):
start = time.time()
- ret = requests.get(self.endpoint_url('/test'),
+ ret = requests.get('http://some_nonexistant_domain',
proxies=self.proxies,
)
self.assertGreater(time.time() - start, self.configs['records.config']['CONFIG']['proxy.config.hostdb.lookup_timeout'])