示例#1
0
def test_record_success(tmpdir, mock_server):
    path = tmpdir.join('data.yaml')
    mock_server.expect_call('hello').and_write('world').once()

    client = TChannel('test')

    with vcr.use_cassette(str(path)) as cass:
        response = client.raw(
            'hello_service',
            'hello',
            'world',
            hostport=mock_server.hostport,
        ).result(timeout=1)

        assert 'world' == response.body

    assert cass.play_count == 0
    assert path.check(file=True)

    with vcr.use_cassette(str(path)) as cass:
        response = client.raw(
            'hello_service',
            'hello',
            'world',
            hostport=mock_server.hostport,
        ).result(timeout=1)
        assert 'world' == response.body

    assert cass.play_count == 1
def test_record_success_no_hostport_new_channels(tmpdir, mock_server):
    path = tmpdir.join('data.yaml')
    mock_server.expect_call('hello').and_write('world').once()

    with vcr.use_cassette(str(path)) as cass:
        client = TChannel('test', known_peers=[mock_server.hostport])
        response = client.raw(
            'hello_service',
            'hello',
            'world',
        ).result(timeout=1)

        assert 'world' == response.body

    assert cass.play_count == 0
    assert path.check(file=True)

    with vcr.use_cassette(str(path)) as cass:
        client = TChannel('test', known_peers=[mock_server.hostport])
        response = client.raw(
            'hello_service',
            'hello',
            'world',
        ).result(timeout=1)
        assert 'world' == response.body

    assert cass.play_count == 1
示例#3
0
def test_protocol_exception(tmpdir, mock_server):
    path = tmpdir.join('data.yaml')

    mock_server.expect_call('hello').and_raise(
        Exception('great sadness')).once()

    with pytest.raises(UnexpectedError):
        with vcr.use_cassette(str(path)):
            client = TChannel('test')
            client.raw(
                'hello_service',
                'hello',
                'world',
                hostport=mock_server.hostport,
            ).result(1)

    assert not path.check()  # nothing should've been recorded
def test_protocol_exception(tmpdir, mock_server):
    path = tmpdir.join('data.yaml')

    mock_server.expect_call('hello').and_raise(
        Exception('great sadness')
    ).once()

    with pytest.raises(UnexpectedError):
        with vcr.use_cassette(str(path)):
            client = TChannel('test')
            client.raw(
                'hello_service',
                'hello',
                'world',
                hostport=mock_server.hostport,
            ).result(1)

    assert not path.check()  # nothing should've been recorded
示例#5
0
def test_sync_client_with_injected_threadloop(mock_server, loop):

    endpoint = 'health'
    mock_server.expect_call(endpoint).and_write(headers="", body="OK")

    client = TChannel('test-client', threadloop=loop)

    future = client.raw(
        service='foo',
        hostport=mock_server.hostport,
        endpoint=endpoint,
    )

    response = future.result()

    assert response.headers == ""
    assert response.body == "OK"
示例#6
0
def test_sync_client_should_get_raw_response(mock_server):

    endpoint = 'health'
    mock_server.expect_call(endpoint).and_write(headers="", body="OK")

    client = TChannel('test-client')

    future = client.raw(
        service='foo',
        hostport=mock_server.hostport,
        endpoint=endpoint,
    )

    response = future.result()

    assert response.headers == ""
    assert response.body == "OK"
示例#7
0
def test_sync_client_should_get_raw_response(mock_server):

    endpoint = 'health'
    mock_server.expect_call(endpoint).and_write(
        headers="",
        body="OK"
    )

    client = TChannel('test-client')

    future = client.raw(
        service='foo',
        hostport=mock_server.hostport,
        endpoint=endpoint,
    )

    response = future.result()

    assert response.headers == ""
    assert response.body == "OK"
示例#8
0
def test_sync_client_with_injected_threadloop(mock_server, loop):

    endpoint = 'health'
    mock_server.expect_call(endpoint).and_write(
        headers="",
        body="OK"
    )

    client = TChannel('test-client', threadloop=loop)

    future = client.raw(
        service='foo',
        hostport=mock_server.hostport,
        endpoint=endpoint,
    )

    response = future.result()

    assert response.headers == ""
    assert response.body == "OK"