From 3aa60047aae17ac6945fa85cb76fa1c8cfae046c Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Thu, 6 Aug 2015 13:27:10 -0300 Subject: [tests] Twisted WSGI is optional Some tests still rely on python WSGI logic while others expect HTTP/1.1 from Twisted WSGI. While we can't use a single implementation for all, both are needed. startServer -> python default wsgi (http 1.0) startTwistedServer -> Twisted WSGI (http 1.1 'production-like') --- .../src/leap/soledad/common/tests/u1db_tests/__init__.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/common/src/leap/soledad/common/tests/u1db_tests/__init__.py b/common/src/leap/soledad/common/tests/u1db_tests/__init__.py index 132c45e3..c34f5ef1 100644 --- a/common/src/leap/soledad/common/tests/u1db_tests/__init__.py +++ b/common/src/leap/soledad/common/tests/u1db_tests/__init__.py @@ -356,7 +356,7 @@ class TestCaseWithServer(TestCase): def url_scheme(self): return 'http' - def startServer(self): + def startTwistedServer(self): application = self.make_app() resource = WSGIResource(reactor, reactor.getThreadPool(), application) site = Site(resource) @@ -365,6 +365,18 @@ class TestCaseWithServer(TestCase): self.server_address = (host.host, host.port) self.addCleanup(self.port.stopListening) + def startServer(self): + server_def = self.server_def() + server_class, shutdown_meth, _ = server_def + application = self.make_app() + self.server = server_class(('127.0.0.1', 0), application) + self.server_thread = threading.Thread(target=self.server.serve_forever, + kwargs=dict(poll_interval=0.01)) + self.server_thread.start() + self.addCleanup(self.server_thread.join) + self.addCleanup(getattr(self.server, shutdown_meth)) + self.server_address = self.server.server_address + def getURL(self, path=None): host, port = self.server_address if path is None: -- cgit v1.2.3