Skip to content

Commit 6e9a8c7

Browse files
authored
Merge pull request googleapis#2533 from tseaver/2529-pubsub-fix-server-side-timestamp
Use correct 'publishTime' field name for server-set message timestamp.
2 parents b797f7c + 0f7bf56 commit 6e9a8c7

3 files changed

Lines changed: 7 additions & 3 deletions

File tree

pubsub/google/cloud/pubsub/message.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,5 +89,5 @@ def from_api_repr(cls, api_repr):
8989
instance = cls(
9090
data=data, message_id=api_repr['messageId'],
9191
attributes=api_repr.get('attributes'))
92-
instance._service_timestamp = api_repr.get('publishTimestamp')
92+
instance._service_timestamp = api_repr.get('publishTime')
9393
return instance

pubsub/unit_tests/test_message.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def test_from_api_repr_no_attributes(self):
9898
api_repr = {
9999
'data': B64_DATA,
100100
'messageId': MESSAGE_ID,
101-
'publishTimestamp': TIMESTAMP,
101+
'publishTime': TIMESTAMP,
102102
}
103103
message = self._getTargetClass().from_api_repr(api_repr)
104104
self.assertEqual(message.data, DATA)
@@ -116,7 +116,7 @@ def test_from_api_repr_w_attributes(self):
116116
api_repr = {
117117
'data': B64_DATA,
118118
'messageId': MESSAGE_ID,
119-
'publishTimestamp': TIMESTAMP,
119+
'publishTime': TIMESTAMP,
120120
'attributes': ATTRS,
121121
}
122122
message = self._getTargetClass().from_api_repr(api_repr)

system_tests/pubsub.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,10 +198,14 @@ def suction(self):
198198

199199
message1, message2 = sorted(hoover.received,
200200
key=operator.attrgetter('timestamp'))
201+
201202
self.assertEqual(message1.data, MESSAGE_1)
202203
self.assertEqual(message1.attributes['extra'], EXTRA_1)
204+
self.assertIsNotNone(message1.service_timestamp)
205+
203206
self.assertEqual(message2.data, MESSAGE_2)
204207
self.assertEqual(message2.attributes['extra'], EXTRA_2)
208+
self.assertIsNotNone(message2.service_timestamp)
205209

206210
def _maybe_emulator_skip(self):
207211
# NOTE: This method is necessary because ``Config.IN_EMULATOR``

0 commit comments

Comments
 (0)