From a2e3312aa33f93be55151418540312be7a7c496d Mon Sep 17 00:00:00 2001 From: Tres Seaver Date: Fri, 3 Apr 2015 15:13:06 -0400 Subject: [PATCH] Add E2E regression test for message publication + pull. --- regression/pubsub.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/regression/pubsub.py b/regression/pubsub.py index 92d2e4b2becd..f72bdd0510ab 100644 --- a/regression/pubsub.py +++ b/regression/pubsub.py @@ -100,3 +100,27 @@ def test_list_subscriptions(self): if subscription.name in subscriptions_to_create and subscription.topic.name == TOPIC_NAME] self.assertEqual(len(created), len(subscriptions_to_create)) + + def test_message_pull_mode_e2e(self): + from base64 import b64encode as b64 + TOPIC_NAME = 'subscribe-me' + topic = Topic(TOPIC_NAME) + self.assertFalse(topic.exists()) + topic.create() + self.to_delete.append(topic) + SUBSCRIPTION_NAME = 'subscribing-now' + subscription = Subscription(SUBSCRIPTION_NAME, topic) + self.assertFalse(subscription.exists()) + subscription.create() + self.to_delete.append(subscription) + + MESSAGE = b'MESSAGE' + EXTRA = b'EXTRA TWO' + topic.publish(MESSAGE, extra=EXTRA) + + received = subscription.pull() + ack_ids = [msg['ackId'] for msg in received] + subscription.acknowledge(ack_ids) + one, = received + self.assertEqual(one['message']['data'], b64(MESSAGE)) + self.assertEqual(one['message']['attributes'], {'extra': EXTRA})