コード例 #1
0
def test_connect_to_trade_subscribe():
    c = ClientManager()
    body = {
        'capability':
        message.CAPABILITY_TRADE | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.connect_to_trade_subscribe(100, message.CYBOS)
    # not yet collector is added
    assert 100 not in c.trade_subscribe_sockets[message.CYBOS]
    c.add_collector(1, {'vendor': message.CYBOS}, body)
    c.connect_to_trade_subscribe(100, message.CYBOS)
    assert 100 in c.trade_subscribe_sockets[message.CYBOS]
    c.disconnect_to_trade_subscribe(100)
    assert 100 not in c.trade_subscribe_sockets[message.CYBOS]
コード例 #2
0
def test_handle_block_request_response():
    c = ClientManager()
    body = {
        'capability':
        message.CAPABILITY_REQUEST_RESPONSE
        | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(1, {'vendor': message.CYBOS}, body)
    c.handle_block_request(200, {'_id': '12345'}, {})

    collector = c.find_request_by_id('12345')
    assert collector is not None
    assert collector.request['pending']
    c.handle_block_response({'_id': '12345'}, {})
    assert not collector.request['pending']
    assert c.find_request_by_id('12345') is None
コード例 #3
0
def test_handle_trade_block_request_response():
    c = ClientManager()
    body = {
        'capability':
        message.CAPABILITY_TRADE | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(1, {'vendor': message.CYBOS}, body)
    collector = c.get_available_trade_collector()
    c.handle_trade_block_request(200, {'_id': '12345'}, {})
    assert collector.request['pending']
    c.handle_trade_block_response({'_id': '12345'}, {})
    c.handle_trade_block_response({'_id': '12345'}, {})
    assert not collector.request['pending']
コード例 #4
0
def test_disconnect_to_trade_subscribe():
    c = ClientManager()
    body = {
        'capability':
        message.CAPABILITY_TRADE | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(7, {'vendor': message.CYBOS}, body)

    mock_server_util.last_msg.clear()
    c.disconnect_to_trade_subscribe(100, message.CYBOS)
    assert len(mock_server_util.last_msg) == 0
    c.connect_to_trade_subscribe(100, message.CYBOS)
    assert 100 in c.trade_subscribe_sockets[message.CYBOS]
    c.disconnect_to_trade_subscribe(100, message.CYBOS)
    assert len(mock_server_util.last_msg) == 1
    assert mock_server_util.last_msg[0][0] == 7
    assert mock_server_util.last_msg[0][1]['method'] == message.STOP_TRADE_DATA
コード例 #5
0
def test_broadcast_trade_data():
    c = ClientManager()
    body = {
        'capability':
        message.CAPABILITY_TRADE | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(1, {'vendor': message.CYBOS}, body)
    mock_server_util.last_msg.clear()
    c.connect_to_trade_subscribe(100, message.CYBOS)
    c.connect_to_trade_subscribe(200, message.CYBOS)
    c.broadcast_trade_data({}, {})
    assert mock_server_util.last_msg[-2][0] == 100
    assert mock_server_util.last_msg[-1][0] == 200
    mock_server_util.last_msg.clear()
コード例 #6
0
def test_connect_to_subscribe():
    c = ClientManager()
    body = {
        'capability':
        message.CAPABILITY_REQUEST_RESPONSE
        | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(1, {'vendor': message.CYBOS}, body)
    c.connect_to_subscribe('A00001', 100, {}, {})
    collector = c.get_available_subscribe_collector()
    assert 'A00001' in collector.subscribe_code
コード例 #7
0
def test_reset():
    c = ClientManager()
    body = {
        'capability':
        message.CAPABILITY_TRADE | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(7, {'vendor': message.CYBOS}, body)

    body = {
        'capability':
        message.CAPABILITY_REQUEST_RESPONSE
        | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(11, {'vendor': message.CYBOS}, body)

    body = {
        'capability':
        message.CAPABILITY_REQUEST_RESPONSE
        | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(13, {'vendor': message.CYBOS}, body)
    c.connect_to_subscribe('A00001', 100, {}, {})
    c.connect_to_subscribe('A00001' + message.BIDASK_SUFFIX, 101, {}, {})
    c.connect_to_subscribe('A00001' + message.SUBJECT_SUFFIX, 102, {}, {})
    c.reset()
    assert len(c.collectors) == 0
    assert len(c.code_subscribe_info) == 0
コード例 #8
0
def test_socket_disconnect_client():
    c = ClientManager()
    body = {
        'capability':
        message.CAPABILITY_TRADE | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(7, {'vendor': message.CYBOS}, body)

    body = {
        'capability':
        message.CAPABILITY_REQUEST_RESPONSE
        | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(11, {'vendor': message.CYBOS}, body)

    body = {
        'capability':
        message.CAPABILITY_REQUEST_RESPONSE
        | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(13, {'vendor': message.CYBOS}, body)
    c.connect_to_subscribe('A00001', 100, {}, {})
    c.connect_to_subscribe('A00001' + message.BIDASK_SUFFIX, 101, {}, {})
    c.connect_to_subscribe('A00001' + message.SUBJECT_SUFFIX, 102, {}, {})
    mock_server_util.last_msg.clear()
    c.handle_disconnect(102)
    assert 'A00001' in c.code_subscribe_info
    assert 'A00001' + message.BIDASK_SUFFIX in c.code_subscribe_info
    assert 'A00001' + message.SUBJECT_SUFFIX not in c.code_subscribe_info
    assert mock_server_util.last_msg[-1][1][
        'method'] == message.STOP_SUBJECT_DATA

    c.handle_disconnect(100)
    assert mock_server_util.last_msg[-1][1][
        'method'] == message.STOP_STOCK_DATA
    assert len(c.collectors) == 3
コード例 #9
0
def test_socket_disconnect_collector():
    c = ClientManager()
    body = {
        'capability':
        message.CAPABILITY_TRADE | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(7, {'vendor': message.CYBOS}, body)

    body = {
        'capability':
        message.CAPABILITY_REQUEST_RESPONSE
        | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(11, {'vendor': message.CYBOS}, body)

    body = {
        'capability':
        message.CAPABILITY_REQUEST_RESPONSE
        | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(13, {'vendor': message.CYBOS}, body)
    c.connect_to_subscribe('A00001', 100, {}, {})
    c.connect_to_subscribe('A00001' + message.BIDASK_SUFFIX, 101, {}, {})
    c.connect_to_subscribe('A00001' + message.SUBJECT_SUFFIX, 102, {}, {})
    for collector in c.collectors:
        assert len(collector.subscribe_code) == 1

    assert 'A00001' in c.code_subscribe_info
    assert 'A00001' + message.BIDASK_SUFFIX in c.code_subscribe_info
    assert 'A00001' + message.SUBJECT_SUFFIX in c.code_subscribe_info
    assert len(c.code_subscribe_info) == 3
    c.handle_disconnect(11)
    assert len(c.collectors) == 2
    assert len(c.code_subscribe_info) == 2
コード例 #10
0
def test_add_collector():
    c = ClientManager()
    body = {
        'capability':
        message.CAPABILITY_REQUEST_RESPONSE
        | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(1, {'vendor': message.CYBOS}, body)
    assert len(c.get_vendor_collector(message.CYBOS)) == 1

    body = {
        'capability':
        message.CAPABILITY_REQUEST_RESPONSE
        | message.CAPABILITY_COLLECT_SUBSCRIBE
    }
    c.add_collector(2, {'vendor': message.KIWOOM}, body)
    assert len(c.get_vendor_collector(message.KIWOOM)) == 1

    assert c.get_available_request_collector() is not None
    assert c.get_available_subscribe_collector() is not None
    assert c.get_available_request_collector(message.KIWOOM) is not None
    assert c.get_available_subscribe_collector(message.KIWOOM) is not None