Skip to content

Commit

Permalink
no subtest
Browse files Browse the repository at this point in the history
  • Loading branch information
nbauernfeind committed Sep 27, 2024
1 parent fc7ae27 commit 894bbd6
Showing 1 changed file with 60 additions and 50 deletions.
110 changes: 60 additions & 50 deletions py/client/tests/test_plugin_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()

Expand Down

0 comments on commit 894bbd6

Please sign in to comment.