def test_wrong_channel_type(self): pollr = zchan.Poller() with self.assertRaises(Exception): pollr.register_channel("Foo") with self.assertRaises(Exception): pollr.unregister_channel("Foo")
def test_unregister_channel_out_twice(self): pollr = zchan.Poller() pollr.register_channel(self.cout) self.assertEqual(len(pollr.sockets), 1) pollr.unregister_channel(self.cout) self.assertEqual(len(pollr.sockets), 0) with self.assertRaises(KeyError): pollr.unregister_channel(self.cout)
def __init__(self, name): self.name = name super().__init__(self.name) self._stream_in = None self._stream_out = None self._stream = None self.poller = zchannels.Poller() # Properties self._poll_timeout = 5
def test_auto_register_socket(self): chan = zchan.ChannelIn(zmq.PULL, "ipc:///tmp/test_bind_twice_in") chan.bind() pollr = zchan.Poller() exit_condition = ProcessEvent() # set condition to immediately exit event loop exit_condition.set() self.assertEqual(len(pollr.sockets), 0) chan.poll(pollr, exit_condition) self.assertEqual(len(pollr.sockets), 1)
def test_poll(self): pollr = zchan.Poller() exit_condition = ProcessEvent() def send_something(): chan = zchan.ChannelOut(zmq.PUSH, "ipc:///tmp/test_channel_socket_in") chan.connect() chan.send(b"something", sync=False) send_something() # set condition to immediately exit event loop self.assertEqual(len(pollr.sockets), 0) self.chan.poll(pollr, exit_condition) self.assertEqual(len(pollr.sockets), 1)
def test_unregister_channel_out(self): pollr = zchan.Poller() pollr.register_channel(self.cout) self.assertEqual(len(pollr.sockets), 1) pollr.unregister_channel(self.cout) self.assertEqual(len(pollr.sockets), 0)
def test_register_channel_in_twice(self): pollr = zchan.Poller() pollr.register_channel(self.cin) self.assertEqual(len(pollr.sockets), 1) pollr.register_channel(self.cin) self.assertEqual(len(pollr.sockets), 1)
def test_poll_not_connected(self): chan = zchan.ChannelIn(zmq.PULL, "ipc:///tmp/test_bind_twice_in") with self.assertRaises(excs.NotConnected): pollr = zchan.Poller() exit_condition = ProcessEvent() chan.poll(pollr, exit_condition)