Exemplo n.º 1
0
 def _context(self):
     Acons = ContextMock(name='consumerA')
     Bcons = ContextMock(name='consumerB')
     c = Cons([Acons, Bcons])
     _conn = c.connection = ContextMock(name='connection')
     est = c.establish_connection = Mock(name='est_connection')
     est.return_value = _conn
     return c, Acons, Bcons
Exemplo n.º 2
0
    def test_maybe_conn_error(self):
        conn = ContextMock(name='connection')
        conn.connection_errors = (KeyError,)
        conn.channel_errors = ()

        self.c.connection = conn

        def raises():
            raise KeyError('foo')
        self.c.maybe_conn_error(raises)
Exemplo n.º 3
0
    def test_run(self):
        conn = ContextMock(name='connection')
        self.c.connection = conn
        conn.connection_errors = (KeyError,)
        conn.channel_errors = ()
        consume = self.c.consume = Mock(name='c.consume')

        def se(*args, **kwargs):
            self.c.should_stop = True
            return [1]
        self.c.should_stop = False
        consume.side_effect = se
        self.c.run()
Exemplo n.º 4
0
    def test_run_raises(self):
        conn = ContextMock(name='connection')
        self.c.connection = conn
        conn.connection_errors = (KeyError,)
        conn.channel_errors = ()
        consume = self.c.consume = Mock(name='c.consume')

        with patch('kombu.mixins.warn') as warn:
            def se_raises(*args, **kwargs):
                self.c.should_stop = True
                raise KeyError('foo')
            self.c.should_stop = False
            consume.side_effect = se_raises
            self.c.run()
            warn.assert_called()
Exemplo n.º 5
0
 def get_insured_mocks(self, insured_returns=('works', 'ignored')):
     conn = ContextMock()
     pool = MockPool(conn)
     fun = Mock()
     insured = conn.autoretry.return_value = Mock()
     insured.return_value = insured_returns
     return conn, pool, fun, insured
Exemplo n.º 6
0
    def test_run_restart_rate_limited(self):
        conn = ContextMock(name='connection')
        self.c.connection = conn
        conn.connection_errors = (KeyError,)
        conn.channel_errors = ()
        consume = self.c.consume = Mock(name='c.consume')
        with patch('kombu.mixins.sleep') as sleep:
            counter = [0]

            def se(*args, **kwargs):
                if counter[0] >= 1:
                    self.c.should_stop = True
                counter[0] += 1
                return counter
            self.c.should_stop = False
            consume.side_effect = se
            self.c.run()
            sleep.assert_called()
Exemplo n.º 7
0
    def test_establish_connection(self):
        conn = ContextMock(name='connection')
        conn.clone.return_value = conn
        self.c.connection = conn
        self.c.connect_max_retries = 3

        with self.c.establish_connection() as conn:
            assert conn
        conn.ensure_connection.assert_called_with(
            self.c.on_connection_error, 3,
        )
Exemplo n.º 8
0
 def __init__(self, consumers):
     self.calls = Mock(name='ConsumerMixin')
     self.calls.get_consumers.return_value = consumers
     self.get_consumers = self.calls.get_consumers
     self.on_connection_revived = self.calls.on_connection_revived
     self.on_consume_ready = self.calls.on_consume_ready
     self.on_consume_end = self.calls.on_consume_end
     self.on_iteration = self.calls.on_iteration
     self.on_decode_error = self.calls.on_decode_error
     self.on_connection_error = self.calls.on_connection_error
     self.extra_context = ContextMock(name='extra_context')
     self.extra_context.return_value = self.extra_context
Exemplo n.º 9
0
 def test__consume_from(self):
     a = ContextMock(name='A')
     b = ContextMock(name='B')
     a.__enter__ = Mock(name='A.__enter__')
     b.__enter__ = Mock(name='B.__enter__')
     with self.c._consume_from(a, b):
         pass
     a.__enter__.assert_called_with()
     b.__enter__.assert_called_with()