Skip to content

Commit ab36af5

Browse files
ryandeivertrubenfonseca
authored andcommitted
add tests for KinesisFirehoseEvent
1 parent ec35c7c commit ab36af5

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"invocationId": "2b4d1ad9-2f48-94bd-a088-767c317e994a",
3+
"deliveryStreamArn": "arn:aws:firehose:us-east-2:123456789012:deliverystream/delivery-stream-name",
4+
"region": "us-east-2",
5+
"records": [
6+
{
7+
"data": "SGVsbG8gV29ybGQ=",
8+
"recordId": "record1",
9+
"approximateArrivalTimestamp": 1510772160000,
10+
"kinesisRecordMetadata": {
11+
"shardId": "shardId-000000000000",
12+
"partitionKey": "4d1ad2b9-24f8-4b9d-a088-76e9947c317a",
13+
"approximateArrivalTimestamp": "2012-04-23T18:25:43.511Z",
14+
"sequenceNumber": "49546986683135544286507457936321625675700192471156785154",
15+
"subsequenceNumber": ""
16+
}
17+
},
18+
{
19+
"data": "eyJIZWxsbyI6ICJXb3JsZCJ9",
20+
"recordId": "record2",
21+
"approximateArrivalTimestamp": 151077216000,
22+
"kinesisRecordMetadata": {
23+
"shardId": "shardId-000000000001",
24+
"partitionKey": "4d1ad2b9-24f8-4b9d-a088-76e9947c318a",
25+
"approximateArrivalTimestamp": "2012-04-23T19:25:43.511Z",
26+
"sequenceNumber": "49546986683135544286507457936321625675700192471156785155",
27+
"subsequenceNumber": ""
28+
}
29+
}
30+
]
31+
}

tests/functional/test_data_classes.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
CodePipelineJobEvent,
1919
EventBridgeEvent,
2020
KafkaEvent,
21+
KinesisFirehoseEvent,
2122
KinesisStreamEvent,
2223
S3Event,
2324
SESEvent,
@@ -1201,6 +1202,30 @@ def test_kafka_self_managed_event():
12011202
assert record.get_header_value("HeaderKey", case_sensitive=False) == b"headerValue"
12021203

12031204

1205+
def test_kinesis_firehose_event():
1206+
event = KinesisFirehoseEvent(load_event("kinesisFirehoseEvent.json"))
1207+
1208+
assert event.region == "us-east-2"
1209+
assert event.invocation_id == "2b4d1ad9-2f48-94bd-a088-767c317e994a"
1210+
assert event.delivery_stream_arn == "arn:aws:firehose:us-east-2:123456789012:deliverystream/delivery-stream-name"
1211+
assert event.source_kinesis_stream_arn is None
1212+
1213+
records = list(event.records)
1214+
assert len(records) == 2
1215+
record_01, record_02 = records[:]
1216+
1217+
assert record_01.approximate_arrival_timestamp == 1510772160000
1218+
assert record_01.record_id == "record1"
1219+
assert record_01.data == "SGVsbG8gV29ybGQ="
1220+
assert record_01.data_as_bytes == b'Hello World'
1221+
assert record_01.data_as_text == 'Hello World'
1222+
1223+
assert record_02.data == "eyJIZWxsbyI6ICJXb3JsZCJ9"
1224+
assert record_02.data_as_bytes == b'{"Hello": "World"}'
1225+
assert record_02.data_as_text == '{"Hello": "World"}'
1226+
assert record_02.data_as_json == {"Hello": "World"}
1227+
1228+
12041229
def test_kinesis_stream_event():
12051230
event = KinesisStreamEvent(load_event("kinesisStreamEvent.json"))
12061231

0 commit comments

Comments
 (0)