def test_consume_raises_inner_block(self): with patch('kombu.connection.Connection.drain_events') as drain: def se(*args, **kwargs): drain.side_effect = ValueError() raise KeyError('foo') drain.side_effect = se b = AMQPBackend(self.app) with self.assertRaises(ValueError): next(b.consume('id1'))