From 894bbd607563a4144d4b9893c6c19a35d5f8fc96 Mon Sep 17 00:00:00 2001 From: Nathaniel Bauernfeind Date: Fri, 27 Sep 2024 10:21:41 -0600 Subject: [PATCH] no subtest --- py/client/tests/test_plugin_client.py | 110 ++++++++++++++------------ 1 file changed, 60 insertions(+), 50 deletions(-) diff --git a/py/client/tests/test_plugin_client.py b/py/client/tests/test_plugin_client.py index e91d9d01840..8661966d255 100644 --- a/py/client/tests/test_plugin_client.py +++ b/py/client/tests/test_plugin_client.py @@ -36,62 +36,72 @@ def test_create(self): self.assertGreater(len(refs), 0) ref = refs[0] self.assertEqual(ref.type, "Table") - # plugin_client.close() - def test_publish_fetch(self): + plugin_client.close() + + def test_publish_fetch_1(self): + plugin_client = self.session.plugin_client(self.session.exportable_objects["plot3"]) + self.assertIsNotNone(plugin_client) + + # First fetch the Plugin object, then publish it + export_plugin_client = self.session.fetch(plugin_client) + shared_ticket = SharedTicket.random_ticket() + self.session.publish(export_plugin_client, shared_ticket) + + # Another session to use the shared Plugin object + sub_session = Session() + server_obj = ServerObject(type="Figure", ticket=shared_ticket) + sub_plugin_client = sub_session.plugin_client(server_obj) + payload, refs = next(sub_plugin_client.resp_stream) + self.assertGreater(len(payload), 0) + self.assertGreater(len(refs), 0) + ref = refs[0] + self.assertEqual(ref.type, "Table") + fetched = ref.fetch() + self.assertIsNotNone(fetched) + self.assertEqual(fetched.size, 30) + sub_plugin_client.close() + sub_session.close() + + plugin_client.close() + + def test_publish_fetch_2(self): plugin_client = self.session.plugin_client(self.session.exportable_objects["plot3"]) self.assertIsNotNone(plugin_client) - with self.subTest("Plugin object"): - # First fetch the Plugin object, then publish it - export_plugin_client = self.session.fetch(plugin_client) - shared_ticket = SharedTicket.random_ticket() - self.session.publish(export_plugin_client, shared_ticket) + payload, refs = next(plugin_client.resp_stream) + self.assertGreater(len(payload), 0) + self.assertGreater(len(refs), 0) + ref = refs[0] + self.assertEqual(ref.type, "Table") + fetched = ref.fetch() + self.assertIsNotNone(fetched) + self.assertEqual(fetched.size, 30) + + # Publish the fetchable + shared_ticket = SharedTicket.random_ticket() + self.session.publish(ref, shared_ticket) + + # Another session to use the shared fetchable + sub_session = Session() + sub_table = sub_session.fetch_table(shared_ticket) + self.assertIsNotNone(sub_table) + self.assertEqual(sub_table.size, 30) + sub_session.close() + + plugin_client.close() + + def test_publish_fetch_2(self): + plugin_client = self.session.plugin_client(self.session.exportable_objects["plot3"]) + self.assertIsNotNone(plugin_client) - # Another session to use the shared Plugin object - sub_session = Session() - server_obj = ServerObject(type="Figure", ticket=shared_ticket) - sub_plugin_client = sub_session.plugin_client(server_obj) + sub_session = Session() + server_obj = ServerObject(type="Figure", ticket=shared_ticket) + sub_plugin_client = sub_session.plugin_client(server_obj) + self.session.release(export_plugin_client) + with self.assertRaises(Exception): payload, refs = next(sub_plugin_client.resp_stream) - self.assertGreater(len(payload), 0) - self.assertGreater(len(refs), 0) - ref = refs[0] - self.assertEqual(ref.type, "Table") - fetched = ref.fetch() - self.assertIsNotNone(fetched) - self.assertEqual(fetched.size, 30) - sub_plugin_client.close() - sub_session.close() - - with self.subTest("Fetchable in the Plugin object"): - payload, refs = next(plugin_client.resp_stream) - self.assertGreater(len(payload), 0) - self.assertGreater(len(refs), 0) - ref = refs[0] - self.assertEqual(ref.type, "Table") - fetched = ref.fetch() - self.assertIsNotNone(fetched) - self.assertEqual(fetched.size, 30) - - # Publish the fetchable - shared_ticket = SharedTicket.random_ticket() - self.session.publish(ref, shared_ticket) - - # Another session to use the shared fetchable - sub_session = Session() - sub_table = sub_session.fetch_table(shared_ticket) - self.assertIsNotNone(sub_table) - self.assertEqual(sub_table.size, 30) - sub_session.close() - - with self.subTest("released Plugin object"): - sub_session = Session() - server_obj = ServerObject(type="Figure", ticket=shared_ticket) - sub_plugin_client = sub_session.plugin_client(server_obj) - self.session.release(export_plugin_client) - with self.assertRaises(Exception): - payload, refs = next(sub_plugin_client.resp_stream) - sub_session.close() + sub_session.close() plugin_client.close()