From ab2b619db5f3de47cffc2740901c4f82958a7d96 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Wed, 23 Mar 2016 16:01:10 -0400 Subject: Clean ups for merge. * Update some comments. * Slightly rewrite a conditional test. * Coding style fixes. * Add a convenience to get_queue_message(). * Add NEWS. --- src/mailman/testing/helpers.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/mailman/testing/helpers.py') diff --git a/src/mailman/testing/helpers.py b/src/mailman/testing/helpers.py index 631424661..e0d46cd20 100644 --- a/src/mailman/testing/helpers.py +++ b/src/mailman/testing/helpers.py @@ -122,12 +122,14 @@ class _Bag: setattr(self, key, value) -def get_queue_messages(queue_name, sort_on=None): +def get_queue_messages(queue_name, sort_on=None, expected_count=None): """Return and clear all the messages in the given queue. :param queue_name: A string naming a queue. :param sort_on: The message header to sort on. If None (the default), no sorting is performed. + :param expected_count: If given and there aren't exactly this number of + messages in the queue, raise an AssertionError. :return: A list of 2-tuples where each item contains the message and message metadata. """ @@ -137,6 +139,9 @@ def get_queue_messages(queue_name, sort_on=None): msg, msgdata = queue.dequeue(filebase) messages.append(_Bag(msg=msg, msgdata=msgdata)) queue.finish(filebase) + if expected_count is not None: + assert len(messages) == expected_count, 'Wanted {}, got {}'.format( + expected_count, len(messages)) if sort_on is not None: messages.sort(key=lambda item: str(item.msg[sort_on])) return messages -- cgit v1.2.3-70-g09d2