def test_queuestat(self): subscriber = TestSubscriber() subId = yield self._spawn_process(subscriber) queuestat_client = QueueStatClient(subscriber) yield queuestat_client.watch_queue(self.queuename, str(subId), 'stat') yield pu.asleep(0.3) assert subscriber.queue_length[self.queuename] == 0 yield self._add_messages(5) yield pu.asleep(0.3) assert subscriber.queue_length[self.queuename] == 5 yield self._add_messages(3) yield pu.asleep(0.3) assert subscriber.queue_length[self.queuename] == 8 yield pu.asleep(0.3) yield queuestat_client.unwatch_queue(self.queuename, str(subId), 'stat') yield self._add_messages(3) yield pu.asleep(0.3) assert subscriber.queue_length[self.queuename] == 8
def test_queuestat(self): queuestat = QueueStatService(spawnargs={ 'erlang_cookie_path': self.cookie_path, 'interval_seconds': 5.0 }) self.queuestat = queuestat queuestat.slc_init() self.assertEqual(self.loop_interval, None) queuestat_client = QueueStatClient() yield queuestat_client.watch_queue("q1", "sub_id", 'stat') self.assertEqual(self.loop_interval, 5.0) yield queuestat._wrapped_do_poll() self.rabbitmqctl.set_qlen("q1", 5) yield queuestat._wrapped_do_poll() self.assertEqual(self.queues.pop("q1"), [5]) yield queuestat_client.watch_queue("q2", "sub_id", 'stat') self.rabbitmqctl.set_qlen("q2", 0) yield queuestat._wrapped_do_poll() self.assertEqual(self.queues.pop("q1"), [5]) self.assertEqual(self.queues.pop("q2"), [0]) self.rabbitmqctl.set_qlen("q1", 8) self.rabbitmqctl.set_qlen("q2", 3) self.rabbitmqctl.set_qlen("q3", 1) yield queuestat._wrapped_do_poll() self.assertEqual(self.queues.pop("q1"), [8]) self.assertEqual(self.queues.pop("q2"), [3]) self.assertFalse(self.queues) # should not be a q3 message yield queuestat_client.unwatch_queue("q1", "sub_id", 'stat') yield queuestat._wrapped_do_poll() self.rabbitmqctl.set_qlen("q1", 10) self.assertEqual(self.queues.pop("q2"), [3]) self.assertFalse(self.queues) # should not be a q1 or q3 message
def test_queuestat(self): queuestat = QueueStatService(spawnargs= {'erlang_cookie_path': self.cookie_path, 'interval_seconds': 5.0}) self.queuestat = queuestat queuestat.slc_init() self.assertEqual(self.loop_interval, None) queuestat_client = QueueStatClient() yield queuestat_client.watch_queue("q1", "sub_id", 'stat') self.assertEqual(self.loop_interval, 5.0) yield queuestat._wrapped_do_poll() self.rabbitmqctl.set_qlen("q1", 5) yield queuestat._wrapped_do_poll() self.assertEqual(self.queues.pop("q1"), [5]) yield queuestat_client.watch_queue("q2", "sub_id", 'stat') self.rabbitmqctl.set_qlen("q2", 0) yield queuestat._wrapped_do_poll() self.assertEqual(self.queues.pop("q1"), [5]) self.assertEqual(self.queues.pop("q2"), [0]) self.rabbitmqctl.set_qlen("q1", 8) self.rabbitmqctl.set_qlen("q2", 3) self.rabbitmqctl.set_qlen("q3", 1) yield queuestat._wrapped_do_poll() self.assertEqual(self.queues.pop("q1"), [8]) self.assertEqual(self.queues.pop("q2"), [3]) self.assertFalse(self.queues) # should not be a q3 message yield queuestat_client.unwatch_queue("q1", "sub_id", 'stat') yield queuestat._wrapped_do_poll() self.rabbitmqctl.set_qlen("q1", 10) self.assertEqual(self.queues.pop("q2"), [3]) self.assertFalse(self.queues) # should not be a q1 or q3 message