mirror of
https://github.com/aykhans/AzSuicideDataVisualization.git
synced 2025-04-22 10:28:02 +00:00
77 lines
2.8 KiB
Python
77 lines
2.8 KiB
Python
# Copyright (C) PyZMQ Developers
|
|
# Distributed under the terms of the Modified BSD License.
|
|
|
|
import zmq
|
|
from zmq.tests import BaseZMQTestCase, require_zmq_4
|
|
from zmq.utils.monitor import recv_monitor_message
|
|
|
|
|
|
class TestSocketMonitor(BaseZMQTestCase):
|
|
@require_zmq_4
|
|
def test_monitor(self):
|
|
"""Test monitoring interface for sockets."""
|
|
s_rep = self.context.socket(zmq.REP)
|
|
s_req = self.context.socket(zmq.REQ)
|
|
self.sockets.extend([s_rep, s_req])
|
|
s_req.bind("tcp://127.0.0.1:6666")
|
|
# try monitoring the REP socket
|
|
|
|
s_rep.monitor(
|
|
"inproc://monitor.rep",
|
|
zmq.EVENT_CONNECT_DELAYED | zmq.EVENT_CONNECTED | zmq.EVENT_MONITOR_STOPPED,
|
|
)
|
|
# create listening socket for monitor
|
|
s_event = self.context.socket(zmq.PAIR)
|
|
self.sockets.append(s_event)
|
|
s_event.connect("inproc://monitor.rep")
|
|
s_event.linger = 0
|
|
# test receive event for connect event
|
|
s_rep.connect("tcp://127.0.0.1:6666")
|
|
m = recv_monitor_message(s_event)
|
|
if m['event'] == zmq.EVENT_CONNECT_DELAYED:
|
|
assert m['endpoint'] == b"tcp://127.0.0.1:6666"
|
|
# test receive event for connected event
|
|
m = recv_monitor_message(s_event)
|
|
assert m['event'] == zmq.EVENT_CONNECTED
|
|
assert m['endpoint'] == b"tcp://127.0.0.1:6666"
|
|
|
|
# test monitor can be disabled.
|
|
s_rep.disable_monitor()
|
|
m = recv_monitor_message(s_event)
|
|
assert m['event'] == zmq.EVENT_MONITOR_STOPPED
|
|
|
|
@require_zmq_4
|
|
def test_monitor_repeat(self):
|
|
s = self.socket(zmq.PULL)
|
|
m = s.get_monitor_socket()
|
|
self.sockets.append(m)
|
|
m2 = s.get_monitor_socket()
|
|
assert m is m2
|
|
s.disable_monitor()
|
|
evt = recv_monitor_message(m)
|
|
assert evt['event'] == zmq.EVENT_MONITOR_STOPPED
|
|
m.close()
|
|
s.close()
|
|
|
|
@require_zmq_4
|
|
def test_monitor_connected(self):
|
|
"""Test connected monitoring socket."""
|
|
s_rep = self.context.socket(zmq.REP)
|
|
s_req = self.context.socket(zmq.REQ)
|
|
self.sockets.extend([s_rep, s_req])
|
|
s_req.bind("tcp://127.0.0.1:6667")
|
|
# try monitoring the REP socket
|
|
# create listening socket for monitor
|
|
s_event = s_rep.get_monitor_socket()
|
|
s_event.linger = 0
|
|
self.sockets.append(s_event)
|
|
# test receive event for connect event
|
|
s_rep.connect("tcp://127.0.0.1:6667")
|
|
m = recv_monitor_message(s_event)
|
|
if m['event'] == zmq.EVENT_CONNECT_DELAYED:
|
|
assert m['endpoint'] == b"tcp://127.0.0.1:6667"
|
|
# test receive event for connected event
|
|
m = recv_monitor_message(s_event)
|
|
assert m['event'] == zmq.EVENT_CONNECTED
|
|
assert m['endpoint'] == b"tcp://127.0.0.1:6667"
|