def json(respw, server, transport, **kwargs): rpc = RPC(service="client", outbounds={"yarpc-test": tr.factory(server, transport)}) expected = {"token": rand.string(7)} request = Request(procedure="echo", body=expected, ttl=10000) client = JSONClient(rpc.channel("yarpc-test")) response = yield client.call(request) if response.body == expected: respw.success("Server said: %s" % response.body["token"]) else: respw.fail("expected %s, got %s" % (expected, response.body))
def raw(respw, server, transport, **kwargs): rpc = RPC( service='client', outbounds={ 'yarpc-test': tr.factory(server, transport), }, ) expected = rand.string(7) request = Request(procedure='echo/raw', body=expected, ttl=10000) client = RawClient(rpc.channel('yarpc-test')) response = yield client.call(request) if response.body == expected: respw.success("Server said: %s" % response.body) else: respw.fail("expected %s, got %s" % (expected, response.body))
def thrift(respw, server, transport, **kwargs): rpc = RPC( service='client', outbounds={ 'yarpc-test': tr.factory(server, transport), }, ) expected = rand.string(7) request = Request( body=service.Echo.echo(service.Ping(beep=expected)), ttl=10000, ) client = ThriftClient(rpc.channel('yarpc-test')) response = yield client.call(request) if response.body.boop == expected: respw.success("Server said: %s" % response.body.boop) else: respw.fail("expected %s, got %s" % (expected, response.body))
def json(respw, server, transport, **kwargs): rpc = RPC( service='client', outbounds={ 'yarpc-test': tr.factory(server, transport), }, ) expected = { 'token': rand.string(7), } request = Request(procedure='echo', body=expected, ttl=10000) client = JSONClient(rpc.channel('yarpc-test')) future = client.call(request) response = future.result() if response.body == expected: respw.success("Server said: %s" % response.body['token']) else: respw.fail("expected %s, got %s" % (expected, response.body))
from os import path from tornado import gen import crossdock from crossdock import rand, transport as tr from yarpc import RPC, Request from yarpc.encoding.raw import RawClient from yarpc.encoding.json import JSONClient from yarpc.encoding.thrift import load, ThriftClient idl = path.join(path.dirname(crossdock.__file__), 'Echo.thrift') service = load(idl) token1 = rand.string(10) token2 = rand.string(10) # tuples of (desc, give, want) tests = [ ( 'valid headers', {'token1': token1, 'token2': token2}, {'token1': token1, 'token2': token2}, ), ( 'non-string values', {'token': 42}, {'token': '42'}, ), (