Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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()
Пример #4
0
    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)
Пример #5
0
    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()
Пример #6
0
    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)
Пример #7
0
 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)
Пример #8
0
 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)
Пример #9
0
 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
Пример #10
0
    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()
Пример #11
0
 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)
Пример #12
0
    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()
Пример #13
0
    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()
Пример #14
0
    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,
            })
Пример #15
0
    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,
            }
        )
Пример #16
0
    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()