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)