Esempio n. 1
0
    def test_start(self):
        with patch('celery.contrib.migrate.eventloop') as evloop:
            app = Mock()
            filter = Mock(name='filter')
            conn = Connection('memory://')
            evloop.side_effect = StopFiltering()
            app.amqp.queues = {'foo': Queue('foo'), 'bar': Queue('bar')}
            consumer = app.amqp.TaskConsumer.return_value = Mock(name='consum')
            consumer.queues = list(app.amqp.queues.values())
            consumer.channel = conn.default_channel
            consumer.__enter__ = Mock(name='consumer.__enter__')
            consumer.__exit__ = Mock(name='consumer.__exit__')
            consumer.callbacks = []

            def register_callback(x):
                consumer.callbacks.append(x)

            consumer.register_callback = register_callback

            start_filter(app,
                         conn,
                         filter,
                         queues='foo,bar',
                         ack_messages=True)
            body = {'task': 'add', 'id': 'id'}
            for callback in consumer.callbacks:
                callback(body, Message(body))
            consumer.callbacks[:] = []
            cb = Mock(name='callback=')
            start_filter(app, conn, filter, tasks='add,mul', callback=cb)
            for callback in consumer.callbacks:
                callback(body, Message(body))
            self.assertTrue(cb.called)

            on_declare_queue = Mock()
            start_filter(app,
                         conn,
                         filter,
                         tasks='add,mul',
                         queues='foo',
                         on_declare_queue=on_declare_queue)
            self.assertTrue(on_declare_queue.called)
            start_filter(app, conn, filter, queues=['foo', 'bar'])
            consumer.callbacks[:] = []
            state = State()
            start_filter(app,
                         conn,
                         filter,
                         tasks='add,mul',
                         callback=cb,
                         state=state,
                         limit=1)
            stop_filtering_raised = False
            for callback in consumer.callbacks:
                try:
                    callback(body, Message(body))
                except StopFiltering:
                    stop_filtering_raised = True
            self.assertTrue(state.count)
            self.assertTrue(stop_filtering_raised)
 def test_repr(self):
     x = State()
     self.assertTrue(repr(x))
     x.filtered = 'foo'
     self.assertTrue(repr(x))
 def test_strtotal(self):
     x = State()
     self.assertEqual(x.strtotal, '?')
     x.total_apx = 100
     self.assertEqual(x.strtotal, '100')
 def test_filter_status(self, stdout, stderr):
     filter_status(State(), {'id': '1', 'task': 'add'}, Mock())
     self.assertTrue(stdout.getvalue())
Esempio n. 5
0
 def test_strtotal(self):
     x = State()
     self.assertEqual(x.strtotal, "?")
     x.total_apx = 100
     self.assertEqual(x.strtotal, "100")
Esempio n. 6
0
 def test_strtotal(self):
     x = State()
     self.assertEqual(x.strtotal, u'?')
     x.total_apx = 100
     self.assertEqual(x.strtotal, u'100')
Esempio n. 7
0
 def test_repr(self):
     x = State()
     self.assertTrue(repr(x))
     x.filtered = 'foo'
     self.assertTrue(repr(x))
Esempio n. 8
0
 def test_repr(self):
     x = State()
     assert repr(x)
     x.filtered = "foo"
     assert repr(x)
Esempio n. 9
0
 def test_strtotal(self):
     x = State()
     assert x.strtotal == "?"
     x.total_apx = 100
     assert x.strtotal == "100"
Esempio n. 10
0
 def test_repr(self):
     x = State()
     assert repr(x)
     x.filtered = 'foo'
     assert repr(x)
Esempio n. 11
0
 def test_strtotal(self):
     x = State()
     assert x.strtotal == '?'
     x.total_apx = 100
     assert x.strtotal == '100'
Esempio n. 12
0
def test_filter_status():
    with mock.stdouts() as (stdout, stderr):
        filter_status(State(), {'id': '1', 'task': 'add'}, Mock())
        assert stdout.getvalue()
Esempio n. 13
0
 def test_strtotal(self):
     x = State()
     assert x.strtotal == '?'
     x.total_apx = 100
     assert x.strtotal == '100'
Esempio n. 14
0
 def test_strtotal(self):
     x = State()
     self.assertEqual(x.strtotal, u"?")
     x.total_apx = 100
     self.assertEqual(x.strtotal, u"100")