summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/test/functional/features/environment.py12
-rw-r--r--service/test/support/integration/app_test_client.py5
-rw-r--r--service/test_requirements.txt2
3 files changed, 15 insertions, 4 deletions
diff --git a/service/test/functional/features/environment.py b/service/test/functional/features/environment.py
index 437529b8..4967a356 100644
--- a/service/test/functional/features/environment.py
+++ b/service/test/functional/features/environment.py
@@ -16,6 +16,9 @@
import logging
import uuid
+from crochet import setup, wait_for
+setup()
+
from test.support.dispatcher.proxy import Proxy
from test.support.integration import AppTestClient
from selenium import webdriver
@@ -23,18 +26,23 @@ from selenium import webdriver
from pixelated.resources.features_resource import FeaturesResource
+@wait_for(timeout=5.0)
+def start_app_test_client(client):
+ return client.start_client()
+
+
def before_all(context):
logging.disable('INFO')
client = AppTestClient()
+ start_app_test_client(client)
+ client.listenTCP()
proxy = Proxy(proxy_port='8889', app_port='4567')
FeaturesResource.DISABLED_FEATURES.append('autoRefresh')
context.client = client
context.call_to_terminate_proxy = proxy.run_on_a_thread()
- context.call_to_terminate = client.run_on_a_thread(logfile='/tmp/behave-tests.log')
def after_all(context):
- context.call_to_terminate()
context.call_to_terminate_proxy()
diff --git a/service/test/support/integration/app_test_client.py b/service/test/support/integration/app_test_client.py
index db85f931..c6cd9936 100644
--- a/service/test/support/integration/app_test_client.py
+++ b/service/test/support/integration/app_test_client.py
@@ -103,9 +103,12 @@ class AppTestClient(object):
d.addCallback(get_request_written_data)
return d, request
+ def listenTCP(self, port=4567, host='0.0.0.0'):
+ reactor.listenTCP(port, Site(self.resource), interface=host)
+
def run_on_a_thread(self, logfile='/tmp/app_test_client.log', port=4567, host='0.0.0.0'):
def _start():
- reactor.listenTCP(port, Site(self.resource), interface=host)
+ self.listenTCP(port, host)
reactor.run()
process = multiprocessing.Process(target=_start)
process.start()
diff --git a/service/test_requirements.txt b/service/test_requirements.txt
index 526c8495..cc9a19b4 100644
--- a/service/test_requirements.txt
+++ b/service/test_requirements.txt
@@ -8,4 +8,4 @@ tornado==4.0.2
pep8==1.5.7
tempdir==0.6
coverage
-
+crochet=1.4.0