Skip to content

Commit bd9c8a6

Browse files
feat(data-classes): adding more tests to kafka events
1 parent f00d2c6 commit bd9c8a6

File tree

3 files changed

+76
-5
lines changed

3 files changed

+76
-5
lines changed
File renamed without changes.
+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"eventSource":"aws:aws:SelfManagedKafka",
3+
"bootstrapServers":"b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092",
4+
"records":{
5+
"mytopic-0":[
6+
{
7+
"topic":"mytopic",
8+
"partition":0,
9+
"offset":15,
10+
"timestamp":1545084650987,
11+
"timestampType":"CREATE_TIME",
12+
"key":"cmVjb3JkS2V5",
13+
"value":"eyJrZXkiOiJ2YWx1ZSJ9",
14+
"headers":[
15+
{
16+
"headerKey":[
17+
104,
18+
101,
19+
97,
20+
100,
21+
101,
22+
114,
23+
86,
24+
97,
25+
108,
26+
117,
27+
101
28+
]
29+
}
30+
]
31+
}
32+
]
33+
}
34+
}

tests/functional/test_data_classes.py

+42-5
Original file line numberDiff line numberDiff line change
@@ -1139,15 +1139,52 @@ def test_base_proxy_event_json_body_with_base64_encoded_data():
11391139
assert event.json_body == data
11401140

11411141

1142-
def test_kafka_event():
1143-
event = KafkaEvent(load_event("kafkaEvent.json"))
1142+
def test_kafka_msk_event():
1143+
event = KafkaEvent(load_event("kafkaEventMsk.json"))
11441144
assert event.event_source == "aws:kafka"
1145-
assert event.event_source_arn == "arn:aws:kafka:us-east-1:0123456789019:cluster/SalesCluster/abcd1234-abcd-cafe-abab-9876543210ab-4"
1146-
bootstrap_servers = [
1145+
assert (
1146+
event.event_source_arn
1147+
== "arn:aws:kafka:us-east-1:0123456789019:cluster/SalesCluster/abcd1234-abcd-cafe-abab-9876543210ab-4"
1148+
)
1149+
1150+
bootstrap_servers_raw = "b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092" # noqa E501
1151+
1152+
bootstrap_servers_list = [
11471153
"b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092",
11481154
"b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092",
11491155
]
1150-
assert event.decoded_bootstrap_servers == bootstrap_servers
1156+
1157+
assert event.bootstrap_servers == bootstrap_servers_raw
1158+
assert event.decoded_bootstrap_servers == bootstrap_servers_list
1159+
1160+
records = list(event.records)
1161+
assert len(records) == 1
1162+
record = records[0]
1163+
assert record.topic == "mytopic"
1164+
assert record.partition == 0
1165+
assert record.offset == 15
1166+
assert record.timestamp == 1545084650987
1167+
assert record.timestamp_type == "CREATE_TIME"
1168+
assert record.decoded_key == b"recordKey"
1169+
assert record.value == "eyJrZXkiOiJ2YWx1ZSJ9"
1170+
assert record.json_value == {"key": "value"}
1171+
assert record.decoded_headers == {"headerKey": b"headerValue"}
1172+
assert record.get_header_value("HeaderKey", case_sensitive=False) == b"headerValue"
1173+
1174+
1175+
def test_kafka_self_managed_event():
1176+
event = KafkaEvent(load_event("kafkaEventSelfManaged.json"))
1177+
assert event.event_source == "aws:aws:SelfManagedKafka"
1178+
1179+
bootstrap_servers_raw = "b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092" # noqa E501
1180+
1181+
bootstrap_servers_list = [
1182+
"b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092",
1183+
"b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092",
1184+
]
1185+
1186+
assert event.bootstrap_servers == bootstrap_servers_raw
1187+
assert event.decoded_bootstrap_servers == bootstrap_servers_list
11511188

11521189
records = list(event.records)
11531190
assert len(records) == 1

0 commit comments

Comments
 (0)