diff --git a/debian/changelog b/debian/changelog index bd7a5bed..7755aa86 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Wed, 01 Oct 2014 16:31:11 +0800 diff --git a/debian/patches/disable-kombu-3-test.patch b/debian/patches/disable-kombu-3-test.patch new file mode 100644 index 00000000..8149654a --- /dev/null +++ b/debian/patches/disable-kombu-3-test.patch @@ -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 +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) diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 00000000..477d72c4 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +disable-kombu-3-test.patch