Пример #1
0
    def test_subscribe_to_channel(self, mocker):
        socket = BitMEXWebsocket()
        message = {
            "success": "true",
            "subscribe": "instrument:XBTH17",
            "request": {
                "op": "subscribe",
                "args": ["instrument:XBTH17"]
            }
        }

        handler = mocker.stub()
        socket.on('subscribe', handler)
        socket.on_message({}, json.dumps(message))
        handler.assert_called_once()
Пример #2
0
    def test_on_subscribe_called_on_sub_error_message(self, mocker):
        """
        on_message should call on_subscribe when subscription error is received
        """
        error = mocker.patch('bitmex_websocket.BitMEXWebsocket.on_error')
        socket = BitMEXWebsocket()
        message = {
            "status": 400,
            "error": "Unknown table: instrument_",
            "meta": {},
            "request": {
                "op": "subscribe",
                "args": ["instrument_:XBTH17"]
            }
        }

        socket.on_message({}, json.dumps(message))
        error.assert_called_with({}, "Unknown table: instrument_")
Пример #3
0
    def test_subscribe_instrument_on_message(self, mocker):
        socket = BitMEXWebsocket()
        message = {
            "success": "true",
            "subscribe": "instrument:XBTH17",
            "request": {
                "op": "subscribe",
                "args": ["instrument:XBTH17"]
            }
        }
        subscribe_handler = mocker.stub()

        @socket.on('subscribe')
        def handler(message):
            subscribe_handler(message)

        socket.on_message({}, json.dumps(message))

        subscribe_handler.assert_called_once_with(message)