def test_send_not_addressed(self, send): node = Queue() plugin = Mock(url='') request = Document(replyto=None) status = 'rejected' consumer = RequestConsumer(node, plugin) # Test consumer.send(request, status) # Validation self.assertFalse(send.called)
def test_no_route(self): node = Queue() plugin = Mock(url='') consumer = RequestConsumer(node, plugin) consumer.abort = Mock() # Test thread = consumer.no_route() thread.join() # Validation consumer.abort.assert_called_once_with() plugin.reload.assert_called_once_with()
def test_dispatch(self): node = Queue() plugin = Mock(url='') request = Document() consumer = RequestConsumer(node, plugin) consumer.send = Mock() # Test consumer.dispatch(request) # Validation consumer.send.assert_called_once_with(request, 'accepted') plugin.scheduler.add.assert_called_once_with(request)
def attach(self): """ Attach (connect) to AMQP connector using the specified uuid. """ self.detach(False) self.refresh() model = BrokerModel(self) model.setup() node = Node(model.queue) consumer = RequestConsumer(node, self) consumer.authenticator = self.authenticator consumer.start() self.consumer = consumer log.info('plugin:%s, attached => %s', self.name, self.node)
def attach(self, uuid=None): """ Attach (connect) to AMQP broker using the specified uuid. @param uuid: The (optional) messaging UUID. @type uuid: str """ cfg = self.cfg() if not uuid: uuid = self.getuuid() broker = self.getbroker() url = broker.url queue = Queue(uuid) consumer = RequestConsumer(queue, url=url) consumer.start() self.consumer = consumer
def test_send(self, ts, _open, _close, send): send.side_effect = ValueError node = Queue() plugin = Mock(url='') request = Document(sn=1, replyto='elmer', data=123) status = 'rejected' details = dict(a=1) consumer = RequestConsumer(node, plugin) # Test consumer.send(request, status, **details) # Validation _open.assert_called_once_with() _close.assert_called_once_with()
def test_init(self): node = Queue() plugin = Mock(url='') consumer = RequestConsumer(node, plugin) self.assertEqual(node, consumer.node) self.assertEqual(plugin, consumer.plugin) self.assertEqual(consumer.scheduler, plugin.scheduler)
def test_send(self, ts, _open, _close, send): send.side_effect = ValueError node = Queue() plugin = Mock(url='') request = Document( sn=1, replyto='elmer', data=123) status = 'rejected' details = dict(a=1) consumer = RequestConsumer(node, plugin) # Test consumer.send(request, status, **details) # Validation _open.assert_called_once_with() _close.assert_called_once_with()
def test_send(self, ts, _open, _close, send): node = Queue() plugin = Mock(url='') request = Document(sn=1, replyto='elmer', data=123) status = 'rejected' details = dict(a=1) consumer = RequestConsumer(node, plugin) # Test consumer.send(request, status, **details) # Validation _open.assert_called_once_with() send.assert_called_once_with(request.replyto, sn=request.sn, data=request.data, status=status, timestamp=ts.return_value, **details) _close.assert_called_once_with()
def test_rejected(self): node = Queue() plugin = Mock(url='') code = '401' description = 'failed' details = dict(msg='failed') document = Document(field='value') consumer = RequestConsumer(node, plugin) consumer.send = Mock() # Test consumer.rejected(code, description, document, details) # Validation consumer.send.assert_called_once_with( document, 'rejected', **{ 'code': code, 'description': description, 'details': details, })
def test_rejected(self): node = Queue() plugin = Mock(url='') code = '401' description = 'failed' details = dict(msg='failed') document = Document(field='value') consumer = RequestConsumer(node, plugin) consumer.send = Mock() # Test consumer.rejected(code, description, document, details) # Validation consumer.send.assert_called_once_with( document, 'rejected', **{ 'code' : code, 'description': description, 'details': details, } )
def test_send(self, ts, _open, _close, send): node = Queue() plugin = Mock(url='') request = Document( sn=1, replyto='elmer', data=123) status = 'rejected' details = dict(a=1) consumer = RequestConsumer(node, plugin) # Test consumer.send(request, status, **details) # Validation _open.assert_called_once_with() send.assert_called_once_with( request.replyto, sn=request.sn, data=request.data, status=status, timestamp=ts.return_value, **details) _close.assert_called_once_with()