source/projects/octorest/test/test_xhrstreaming.py
2025-02-06 01:55:09 -07:00

37 lines
1.1 KiB
Python

import pytest
from octorest import XHRStreamingEventHandler
from _common import URL
def on_message(api, message):
api.message = message
raise RuntimeError
@pytest.mark.usefixtures('betamax_recorder')
@pytest.fixture
def client(betamax_recorder):
betamax_recorder.current_cassette.match_options.remove('uri')
session = betamax_recorder.session
return XHRStreamingEventHandler(url=URL,
session=session,
on_message=on_message)
class TestXHRStreamingGenerator:
@pytest.mark.usefixtures('betamax_session')
def test_init_works(self, betamax_session):
XHRStreamingEventHandler(url=URL, session=betamax_session)
@pytest.mark.xfail(reason="OctoPrint\'s tornado server returns 404")
def test_send(self, client):
r = client.send({"throttle": 10})
assert r.status_code in [200, 204]
def test_run(self, client):
client.run()
assert client.thread.is_alive()
client.wait()
assert client.message.get("connected", None)