* Add patch to disable unit tests using Kombu 3.x, which isn't available

normally with OpenStack Juno.
This commit is contained in:
Thomas Goirand
2014-10-01 10:50:16 +00:00
parent f772a6e51d
commit e8f084fbd8
3 changed files with 94 additions and 0 deletions

2
debian/changelog vendored
View File

@@ -4,6 +4,8 @@ python-taskflow (0.4.0-1) experimental; urgency=medium
* Updated (build-)depends for this release.
* Do not support python 2.6 because of the need for ordereddict. Therefore
setting-up X-Python-Version: >= 2.7.
* Add patch to disable unit tests using Kombu 3.x, which isn't available
normally with OpenStack Juno.
-- Thomas Goirand <zigo@debian.org> Wed, 01 Oct 2014 16:31:11 +0800

View File

@@ -0,0 +1,91 @@
Description: Disable test that requires Kombu 3.x
The file taskflow/tests/unit/worker_based/test_dispatcher.py is trying to
do "from kombu import message", which is only in Kombu 3.x. Juno is to be
released with Kombu 2.5.x, which doesn't include a message.py file, so the
unit tests are failing.
.
This patch neutralise the test cases, which otherwise pass.
Author: Thomas Goirand <zigo@debian.org>
Forwarded: no
Last-Update: 2014-10-01
--- a/taskflow/tests/unit/worker_based/test_dispatcher.py 2014-10-01 10:39:54.000000000 +0000
+++ /dev/null 2013-06-03 14:59:59.000000000 +0000
@@ -1,77 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (C) 2014 Yahoo! Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-from kombu import message
-import mock
-
-from taskflow.engines.worker_based import dispatcher
-from taskflow import test
-
-
-def mock_acked_message(ack_ok=True, **kwargs):
- msg = mock.create_autospec(message.Message, spec_set=True, instance=True,
- channel=None, **kwargs)
-
- def ack_side_effect(*args, **kwargs):
- msg.acknowledged = True
-
- if ack_ok:
- msg.ack_log_error.side_effect = ack_side_effect
- msg.acknowledged = False
- return msg
-
-
-class TestDispatcher(test.MockTestCase):
- def test_creation(self):
- on_hello = mock.MagicMock()
- handlers = {'hello': on_hello}
- dispatcher.TypeDispatcher(handlers)
-
- def test_on_message(self):
- on_hello = mock.MagicMock()
- handlers = {'hello': on_hello}
- d = dispatcher.TypeDispatcher(handlers)
- msg = mock_acked_message(properties={'type': 'hello'})
- d.on_message("", msg)
- self.assertTrue(on_hello.called)
- self.assertTrue(msg.ack_log_error.called)
- self.assertTrue(msg.acknowledged)
-
- def test_on_rejected_message(self):
- d = dispatcher.TypeDispatcher({})
- msg = mock_acked_message(properties={'type': 'hello'})
- d.on_message("", msg)
- self.assertTrue(msg.reject_log_error.called)
- self.assertFalse(msg.acknowledged)
-
- def test_on_requeue_message(self):
- d = dispatcher.TypeDispatcher({})
- d.add_requeue_filter(lambda data, message: True)
- msg = mock_acked_message()
- d.on_message("", msg)
- self.assertTrue(msg.requeue.called)
- self.assertFalse(msg.acknowledged)
-
- def test_failed_ack(self):
- on_hello = mock.MagicMock()
- handlers = {'hello': on_hello}
- d = dispatcher.TypeDispatcher(handlers)
- msg = mock_acked_message(ack_ok=False,
- properties={'type': 'hello'})
- d.on_message("", msg)
- self.assertTrue(msg.ack_log_error.called)
- self.assertFalse(msg.acknowledged)
- self.assertFalse(on_hello.called)

1
debian/patches/series vendored Normal file
View File

@@ -0,0 +1 @@
disable-kombu-3-test.patch