fixeg code
diff --git a/tests/test_rpc.py b/tests/test_rpc.py
new file mode 100644
index 0000000..fd35555
--- /dev/null
+++ b/tests/test_rpc.py
@@ -0,0 +1,38 @@
+import contextlib
+
+from wally import ssh_utils, node, node_interfaces
+
+
+CONNECT_URI = "localhost"
+
+
+@contextlib.contextmanager
+def rpc_conn_ctx(uri):
+ creds = ssh_utils.parse_ssh_uri(uri)
+ rpc_code, modules = node.get_rpc_server_code()
+
+ ssh_conn = node.connect(node_interfaces.NodeInfo(creds, set()))
+ try:
+ rpc_conn = node.setup_rpc(ssh_conn, rpc_code, plugins=modules)
+ try:
+ yield rpc_conn
+ finally:
+ rpc_conn.conn.server.stop()
+ rpc_conn.disconnect()
+ finally:
+ ssh_conn.disconnect()
+
+
+def test_rpc_simple():
+ with rpc_conn_ctx(CONNECT_URI) as conn:
+ names = conn.conn.server.rpc_info()
+ assert 'server.list_modules' in names
+ assert 'server.load_module' in names
+ assert 'server.rpc_info' in names
+ assert 'server.stop' in names
+
+
+def test_rpc_plugins():
+ with rpc_conn_ctx(CONNECT_URI) as conn:
+ print(conn.conn.server.rpc_info())
+ assert conn.conn.fs.file_exists("/")