From 60a9421b0e363f4ac7de5d50c3e05fde6b8ec36a Mon Sep 17 00:00:00 2001 From: Jason Paryani Date: Wed, 8 Jan 2014 14:29:24 -0800 Subject: [PATCH] Add ez_rpc test --- test/test_rpc.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/test/test_rpc.py b/test/test_rpc.py index 322b6df..6bae298 100644 --- a/test/test_rpc.py +++ b/test/test_rpc.py @@ -57,3 +57,32 @@ def test_simple_rpc_restore_func(): response = remote.wait() assert response.x == '125' + + +def text_restore_func(objectId): + text = objectId.as_text() + assert text == 'testInterface' + return Server(100) + + +def test_ez_rpc(): + read, write = socket.socketpair(socket.AF_UNIX) + + server = capnp.TwoPartyServer(write, text_restore_func) + client = capnp.TwoPartyClient(read) + + cap = client.ez_restore('testInterface') + cap = cap.cast_as(test_capability_capnp.TestInterface) + + remote = cap.foo(i=5) + response = remote.wait() + + assert response.x == '125' + + cap = client.restore(test_capability_capnp.TestSturdyRefObjectId.new_message()) + cap = cap.cast_as(test_capability_capnp.TestInterface) + + remote = cap.foo(i=5) + + with pytest.raises(capnp.KjException): + response = remote.wait()