Avoid random websocket test fails

This commit is contained in:
shortcutme 2019-04-15 16:54:49 +02:00
parent 04394d8ced
commit 572d55752c
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE

View file

@ -13,6 +13,7 @@ import pytest
import mock import mock
import gevent import gevent
import gevent.event
from gevent import monkey from gevent import monkey
monkey.patch_all(thread=False, subprocess=False) monkey.patch_all(thread=False, subprocess=False)
@ -316,14 +317,14 @@ def file_server6(request):
def ui_websocket(site, user): def ui_websocket(site, user):
class WsMock: class WsMock:
def __init__(self): def __init__(self):
self.result = None self.result = gevent.event.AsyncResult()
def send(self, data): def send(self, data):
self.result = json.loads(data)["result"] self.result.set(json.loads(data)["result"])
def getResult(self): def getResult(self):
back = self.result back = self.result.get()
self.result = None self.result = gevent.event.AsyncResult()
return back return back
ws_mock = WsMock() ws_mock = WsMock()
@ -332,7 +333,7 @@ def ui_websocket(site, user):
def testAction(action, *args, **kwargs): def testAction(action, *args, **kwargs):
func = getattr(ui_websocket, "action%s" % action) func = getattr(ui_websocket, "action%s" % action)
func(0, *args, **kwargs) func(0, *args, **kwargs)
return ui_websocket.ws.result return ui_websocket.ws.result.get()
ui_websocket.testAction = testAction ui_websocket.testAction = testAction
return ui_websocket return ui_websocket