Support SSL processing nodes

pull/571/head
Piero Toffanin 2018-12-04 11:38:01 -05:00
rodzic a1f74c6b6f
commit 53d1d3ccb4
2 zmienionych plików z 7 dodań i 3 usunięć

Wyświetl plik

@ -17,13 +17,13 @@ class ApiClient:
self.timeout = timeout
def url(self, url, query = {}):
netloc = self.host if self.port == 80 else "{}:{}".format(self.host, self.port)
netloc = self.host if (self.port == 80 or self.port == 443) else "{}:{}".format(self.host, self.port)
proto = 'https' if self.port == 443 else 'http'
if len(self.token) > 0:
query['token'] = self.token
# TODO: https support
return urlunparse(('http', netloc, url, '', urlencode(query), ''))
return urlunparse((proto, netloc, url, '', urlencode(query), ''))
def info(self):
return requests.get(self.url('/info'), timeout=self.timeout).json()

Wyświetl plik

@ -157,6 +157,10 @@ class TestClientApi(TestCase):
# Task has been deleted
self.assertRaises(ProcessingError, online_node.get_task_info, uuid)
# Test URL building for HTTPS
sslApi = ApiClient("localhost", 443, 'abc')
self.assertEqual(sslApi.url('/info'), 'https://localhost/info?token=abc')
def test_find_best_available_node_and_is_online(self):
# Fixtures are all offline
self.assertTrue(ProcessingNode.find_best_available_node() is None)