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
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
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"
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"
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"
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"