54 lines
1.6 KiB
Python
54 lines
1.6 KiB
Python
import pytest
|
|
import threading
|
|
from conftest import option
|
|
from clients.status_backend import StatusBackend
|
|
from test_cases import StatusBackendTestCase
|
|
|
|
|
|
@pytest.mark.create_account
|
|
@pytest.mark.rpc
|
|
class TestInitialiseApp(StatusBackendTestCase):
|
|
|
|
@pytest.fixture(scope="session", autouse=True)
|
|
def init_status_backend(self):
|
|
|
|
await_signals = [
|
|
|
|
"mediaserver.started",
|
|
"node.started",
|
|
"node.ready",
|
|
"node.login",
|
|
|
|
"wallet", # TODO: a test per event of a different type
|
|
]
|
|
|
|
self.backend_client = StatusBackend(
|
|
await_signals
|
|
)
|
|
|
|
websocket_thread = threading.Thread(
|
|
target=self.backend_client._connect)
|
|
websocket_thread.daemon = True
|
|
websocket_thread.start()
|
|
|
|
self.backend_client.init_status_backend()
|
|
self.backend_client.create_account_and_login()
|
|
|
|
yield self.backend_client
|
|
|
|
@pytest.mark.init
|
|
def test_init_app(self, init_status_backend):
|
|
# this test is going to fail on every call except first since status-backend will be already initialized
|
|
|
|
backend_client = init_status_backend
|
|
assert backend_client is not None
|
|
mediaserver_started = backend_client.wait_for_signal(
|
|
"mediaserver.started")
|
|
|
|
port = mediaserver_started['event']['port']
|
|
assert type(port) is int, f"Port is not an integer, found {type(port)}"
|
|
|
|
backend_client.wait_for_signal("node.started")
|
|
backend_client.wait_for_signal("node.ready")
|
|
backend_client.wait_for_signal("node.login")
|