1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
import os
import rpyc
import tempfile
from rpyc.utils.server import ThreadedServer, ThreadPoolServer
from rpyc import SlaveService
import unittest
class Test_ThreadedServer(unittest.TestCase):
def setUp(self):
self.server = ThreadedServer(SlaveService, port=18878, auto_register=False)
self.server.logger.quiet = False
self.server._start_in_thread()
def tearDown(self):
while self.server.clients:
pass
self.server.close()
def test_connection(self):
conn = rpyc.classic.connect("localhost", port=18878)
print(conn.modules.sys)
print(conn.modules["xml.dom.minidom"].parseString("<a/>"))
conn.execute("x = 5")
self.assertEqual(conn.namespace["x"], 5)
self.assertEqual(conn.eval("1+x"), 6)
conn.close()
class Test_ThreadedServerOverUnixSocket(unittest.TestCase):
def setUp(self):
self.socket_path = tempfile.mktemp()
self.server = ThreadedServer(SlaveService, socket_path=self.socket_path, auto_register=False)
self.server.logger.quiet = False
self.server._start_in_thread()
def tearDown(self):
self.server.close()
os.remove(self.socket_path)
def test_connection(self):
c = rpyc.classic.unix_connect(self.socket_path)
print(c.modules.sys)
print(c.modules["xml.dom.minidom"].parseString("<a/>"))
c.execute("x = 5")
self.assertEqual(c.namespace["x"], 5)
self.assertEqual(c.eval("1+x"), 6)
c.close()
class Test_ThreadPoolServer(Test_ThreadedServer):
def setUp(self):
self.server = ThreadPoolServer(SlaveService, port=18878, auto_register=False)
self.server.logger.quiet = False
self.server._start_in_thread()
if __name__ == "__main__":
unittest.main()
|