9551: Replaced ARVADOS_KEEP_PROXY with ARVADOS_KEEP_SERVICES new var on tests. Added...
authorLucas Di Pentima <lucas@curoverse.com>
Tue, 26 Jul 2016 14:03:57 +0000 (11:03 -0300)
committerLucas Di Pentima <lucas@curoverse.com>
Tue, 26 Jul 2016 14:03:57 +0000 (11:03 -0300)
sdk/python/arvados/keep.py
sdk/python/tests/run_test_server.py
sdk/python/tests/test_keep_client.py

index 723d09dede59f83224b8ace963d39a1394a7bcff..db7835be3746f8f67eddd61d2aac505356e601f4 100644 (file)
@@ -720,7 +720,7 @@ class KeepClient(object):
                     if not proxy_uris[i].endswith('/'):
                         proxy_uris[i] += '/'
                     # URL validation
-                    url = urlparse(proxy_uris[i])
+                    url = urlparse.urlparse(proxy_uris[i])
                     if not (url.scheme and url.netloc):
                         raise arvados.errors.ArgumentError("Invalid proxy URI: {}".format(proxy_uris[i]))
                 self.api_token = api_token
index 45cc3ca32b465ed96989e910189b6f0de9fb2f8d..e72f67dce49049f37c9b2e68794eb62cc780297c 100644 (file)
@@ -476,7 +476,7 @@ def run_keep_proxy():
         'service_type': 'proxy',
         'service_ssl_flag': False,
     }}).execute()
-    os.environ["ARVADOS_KEEP_PROXY"] = "http://localhost:{}".format(port)
+    os.environ["ARVADOS_KEEP_SERVICES"] = "http://localhost:{}".format(port)
     _setport('keepproxy', port)
     _wait_until_port_listens(port)
 
@@ -664,7 +664,7 @@ class TestCaseWithServers(unittest.TestCase):
         cls._orig_environ = os.environ.copy()
         cls._orig_config = arvados.config.settings().copy()
         cls._cleanup_funcs = []
-        os.environ.pop('ARVADOS_KEEP_PROXY', None)
+        os.environ.pop('ARVADOS_KEEP_SERVICES', None)
         os.environ.pop('ARVADOS_EXTERNAL_CLIENT', None)
         for server_kwargs, start_func, stop_func in (
                 (cls.MAIN_SERVER, run, reset),
index 9258aa555f63099f84e9c16b3eb80fcdeb6b6620..908539b8cae010f1cf0f23046bdcaf1f15f136b0 100644 (file)
@@ -240,8 +240,8 @@ class KeepProxyTestCase(run_test_server.TestCaseWithServers):
         super(KeepProxyTestCase, self).tearDown()
 
     def test_KeepProxyTest1(self):
-        # Will use ARVADOS_KEEP_PROXY environment variable that is set by
-        # setUpClass().
+        # Will use ARVADOS_KEEP_SERVICES environment variable that
+        # is set by setUpClass().
         keep_client = arvados.KeepClient(api_client=self.api_client,
                                          local_store='')
         baz_locator = keep_client.put('baz')
@@ -273,11 +273,19 @@ class KeepProxyTestCase(run_test_server.TestCaseWithServers):
     def test_KeepProxyTestMultipleURIs(self):
         # Test using ARVADOS_KEEP_SERVICES env var overriding any
         # existing proxy setting and setting multiple proxies
-        arvados.config.settings()['ARVADOS_KEEP_SERVICES'] = 'foo bar baz'
+        arvados.config.settings()['ARVADOS_KEEP_SERVICES'] = 'http://10.0.0.1 https://foo.example.org:1234/'
         keep_client = arvados.KeepClient(api_client=self.api_client,
                                          local_store='')
         uris = [x['_service_root'] for x in keep_client._keep_services]
-        self.assertEqual(uris, ['foo/', 'bar/', 'baz/'])
+        self.assertEqual(uris, ['http://10.0.0.1/',
+                                'https://foo.example.org:1234/'])
+
+    def test_KeepProxyTestInvalidURI(self):
+        arvados.config.settings()['ARVADOS_KEEP_SERVICES'] = 'bad.uri.org'
+        with self.assertRaises(arvados.errors.ArgumentError):
+            keep_client = arvados.KeepClient(api_client=self.api_client,
+                                             local_store='')
+
 
 class KeepClientServiceTestCase(unittest.TestCase, tutil.ApiClientMock):
     def get_service_roots(self, api_client):