def setUp(self): self.consumeCallback = mock.Mock() self.channel = PikaChannelMock(self) self.expectedStatusExchange = idlistener.statusExchange( "delta-foxtrot") self.tested = idlistener.IDListener("delta-foxtrot", self.consumeCallback, self.channel)
class Test(unittest.TestCase): def setUp(self): self.consumeCallback = mock.Mock() self.channel = PikaChannelMock(self) self.expectedStatusExchange = idlistener.statusExchange("delta-foxtrot") self.tested = idlistener.IDListener("delta-foxtrot", self.consumeCallback, self.channel) def test_Listen(self): self.validateListenHappyFlow() def test_StopListening(self): queue = self.validateListenHappyFlow() self.tested.stopListening() self.validateOneStatusQueueIsAllocated(queue, allowOtherRequests=True) self.channel.answerQueueDelete(queue) self.validateNoStatusQueueIsAllocated() self.validateMessages(self.basicConsumeCallback, isArrivalExpected=False) def test_StopListeningBeforeExchangeDeclared(self): self.validateNoStatusQueueIsAllocated() self.tested.stopListening() self.validateNoStatusQueueIsAllocated() self.channel.answerExchangeDeclare(self.expectedStatusExchange) self.validateNoStatusQueueIsAllocated() def test_StopListeningBeforeQueueDeclared(self): self.validateListenFlowUntilStatusQueueDeclare() self.validateOneStatusQueueIsAllocating() self.tested.stopListening() self.validateOneStatusQueueIsAllocating() queue = self.channel.answerQueueDeclare() self.validateOneStatusQueueIsAllocated(queue, allowOtherRequests=True) self.channel.answerQueueDelete(queue) self.validateNoStatusQueueIsAllocated() def test_StopListeningBeforeQueueBinded(self): self.validateListenFlowUntilStatusQueueDeclare() queue = self.channel.answerQueueDeclare() self.validateOneStatusQueueIsAllocated(queue) self.tested.stopListening() self.validateOneStatusQueueIsAllocated(queue, allowOtherRequests=True) queueBindCallback = self.channel.getQueueBindCallback() queueBindCallback(queue) self.validateOneStatusQueueIsAllocated(queue, allowOtherRequests=True) self.channel.answerQueueDelete(queue) self.validateNoStatusQueueIsAllocated(allowOtherRequests=True) def test_StopListeningTwice(self): queue = self.validateListenHappyFlow() self.tested.stopListening() self.channel.answerQueueDelete(queue) self.validateNoStatusQueueIsAllocated() self.tested.stopListening() self.validateNoStatusQueueIsAllocated() def test_MoreThanOneInstance(self): for i in xrange(10): queue = self.validateListenHappyFlow() self.tested.stopListening() self.channel.answerQueueDelete(queue) self.validateNoStatusQueueIsAllocated() self.tested = idlistener.IDListener("delta-foxtrot", self.consumeCallback, self.channel) self.validateNoStatusQueueIsAllocated() def validateListenFlowUntilStatusQueueDeclare(self): self.validateNoStatusQueueIsAllocated() self.channel.answerExchangeDeclare(self.expectedStatusExchange) self.validateOneStatusQueueIsAllocating() def validateListenFlowAfterQueueDeclare(self, queue): queueBindCallback = self.channel.getQueueBindCallback() queueBindCallback(queue) self.basicConsumeCallback = self.channel.getBasicConsumeCallback() self.validateMessages(self.basicConsumeCallback) self.validateOneStatusQueueIsAllocated(queue) def validateListenHappyFlow(self): self.validateListenFlowUntilStatusQueueDeclare() queue = self.channel.answerQueueDeclare() self.validateListenFlowAfterQueueDeclare(queue) self.validateOneStatusQueueIsAllocated(queue) return queue def validateMessages(self, basicConsumeCallback, isArrivalExpected=True): message = 'I am a cool message.' basicConsumeCallback(message) self.assertEquals(self.consumeCallback.called, isArrivalExpected) self.consumeCallback.reset_mock() def validateOneStatusQueueIsAllocated(self, queue, allowOtherRequests=False): self.assertEquals(set([queue]), self.channel.declaredQueues) if not allowOtherRequests: self.assertFalse(self.channel.requests) def validateOneStatusQueueIsAllocating(self, allowDeleteRequests=False): self.assertEquals(len(self.channel.requests), 1) self.assertEquals(self.channel.requests[0][0], "declare") if not allowDeleteRequests: self.assertFalse(self.channel.declaredQueues) def validateNoStatusQueueIsAllocated(self, allowOtherRequests=False): self.assertFalse(self.channel.declaredQueues) if not allowOtherRequests: self.assertFalse(self.channel.requests) self.assertFalse(self.channel.queue_bind.called) self.assertFalse(self.channel.basic_consume.called)
def setUp(self): self.consumeCallback = mock.Mock() self.channel = PikaChannelMock(self) self.expectedStatusExchange = idlistener.statusExchange("delta-foxtrot") self.tested = idlistener.IDListener("delta-foxtrot", self.consumeCallback, self.channel)
class Test(unittest.TestCase): def setUp(self): self.consumeCallback = mock.Mock() self.channel = PikaChannelMock(self) self.expectedStatusExchange = idlistener.statusExchange( "delta-foxtrot") self.tested = idlistener.IDListener("delta-foxtrot", self.consumeCallback, self.channel) def test_Listen(self): self.validateListenHappyFlow() def test_StopListening(self): queue = self.validateListenHappyFlow() self.tested.stopListening() self.validateOneStatusQueueIsAllocated(queue, allowOtherRequests=True) self.channel.answerQueueDelete(queue) self.validateNoStatusQueueIsAllocated() self.validateMessages(self.basicConsumeCallback, isArrivalExpected=False) def test_StopListeningBeforeExchangeDeclared(self): self.validateNoStatusQueueIsAllocated() self.tested.stopListening() self.validateNoStatusQueueIsAllocated() self.channel.answerExchangeDeclare(self.expectedStatusExchange) self.validateNoStatusQueueIsAllocated() def test_StopListeningBeforeQueueDeclared(self): self.validateListenFlowUntilStatusQueueDeclare() self.validateOneStatusQueueIsAllocating() self.tested.stopListening() self.validateOneStatusQueueIsAllocating() queue = self.channel.answerQueueDeclare() self.validateOneStatusQueueIsAllocated(queue, allowOtherRequests=True) self.channel.answerQueueDelete(queue) self.validateNoStatusQueueIsAllocated() def test_StopListeningBeforeQueueBinded(self): self.validateListenFlowUntilStatusQueueDeclare() queue = self.channel.answerQueueDeclare() self.validateOneStatusQueueIsAllocated(queue) self.tested.stopListening() self.validateOneStatusQueueIsAllocated(queue, allowOtherRequests=True) queueBindCallback = self.channel.getQueueBindCallback() queueBindCallback(queue) self.validateOneStatusQueueIsAllocated(queue, allowOtherRequests=True) self.channel.answerQueueDelete(queue) self.validateNoStatusQueueIsAllocated(allowOtherRequests=True) def test_StopListeningTwice(self): queue = self.validateListenHappyFlow() self.tested.stopListening() self.channel.answerQueueDelete(queue) self.validateNoStatusQueueIsAllocated() self.tested.stopListening() self.validateNoStatusQueueIsAllocated() def test_MoreThanOneInstance(self): for i in xrange(10): queue = self.validateListenHappyFlow() self.tested.stopListening() self.channel.answerQueueDelete(queue) self.validateNoStatusQueueIsAllocated() self.tested = idlistener.IDListener("delta-foxtrot", self.consumeCallback, self.channel) self.validateNoStatusQueueIsAllocated() def validateListenFlowUntilStatusQueueDeclare(self): self.validateNoStatusQueueIsAllocated() self.channel.answerExchangeDeclare(self.expectedStatusExchange) self.validateOneStatusQueueIsAllocating() def validateListenFlowAfterQueueDeclare(self, queue): queueBindCallback = self.channel.getQueueBindCallback() queueBindCallback(queue) self.basicConsumeCallback = self.channel.getBasicConsumeCallback() self.validateMessages(self.basicConsumeCallback) self.validateOneStatusQueueIsAllocated(queue) def validateListenHappyFlow(self): self.validateListenFlowUntilStatusQueueDeclare() queue = self.channel.answerQueueDeclare() self.validateListenFlowAfterQueueDeclare(queue) self.validateOneStatusQueueIsAllocated(queue) return queue def validateMessages(self, basicConsumeCallback, isArrivalExpected=True): message = 'I am a cool message.' basicConsumeCallback(message) self.assertEquals(self.consumeCallback.called, isArrivalExpected) self.consumeCallback.reset_mock() def validateOneStatusQueueIsAllocated(self, queue, allowOtherRequests=False): self.assertEquals(set([queue]), self.channel.declaredQueues) if not allowOtherRequests: self.assertFalse(self.channel.requests) def validateOneStatusQueueIsAllocating(self, allowDeleteRequests=False): self.assertEquals(len(self.channel.requests), 1) self.assertEquals(self.channel.requests[0][0], "declare") if not allowDeleteRequests: self.assertFalse(self.channel.declaredQueues) def validateNoStatusQueueIsAllocated(self, allowOtherRequests=False): self.assertFalse(self.channel.declaredQueues) if not allowOtherRequests: self.assertFalse(self.channel.requests) self.assertFalse(self.channel.queue_bind.called) self.assertFalse(self.channel.basic_consume.called)