Skip to content

Commit 5e8e47d

Browse files
authored
Fix QualifiedOffset.from_event (#70)
1 parent 15dd4ce commit 5e8e47d

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

nuclio_sdk/qualified_offset.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ def __init__(self, topic, partition, offset):
2121

2222
@staticmethod
2323
def from_event(event):
24-
return QualifiedOffset(event.path, event.shard_id, event.offset)
24+
# topic resolving required to keep BC (NUC-233)
25+
topic = event.topic if event.topic else event.path
26+
return QualifiedOffset(topic, event.shard_id, event.offset)
2527

2628
def compile_explicit_ack_message(self):
2729
"""

nuclio_sdk/test/test_qualified_offset.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,13 @@ def test_compile_explicit_ack_message(self):
3737
actual_explicit_ack_message = qualified_offset.compile_explicit_ack_message()
3838
self.assertEqual(expected_explicit_ack_message, actual_explicit_ack_message)
3939

40+
# check that if topic is passed, it takes precedence
41+
event.topic = "topic"
42+
expected_explicit_ack_message["attributes"]["topic"] = "topic"
43+
qualified_offset = nuclio_sdk.QualifiedOffset.from_event(event)
44+
actual_explicit_ack_message = qualified_offset.compile_explicit_ack_message()
45+
self.assertEqual(expected_explicit_ack_message, actual_explicit_ack_message)
46+
4047
def _check_equal_qualified_offsets(self, expected, actual):
4148
self.assertEqual(expected.topic, actual.topic)
4249
self.assertEqual(expected.partition, actual.partition)

0 commit comments

Comments
 (0)