@@ -1202,7 +1202,7 @@ def test_kafka_self_managed_event():
1202
1202
assert record .get_header_value ("HeaderKey" , case_sensitive = False ) == b"headerValue"
1203
1203
1204
1204
1205
- def test_kinesis_firehose_event ():
1205
+ def test_kinesis_firehose_kinesis_event ():
1206
1206
event = KinesisFirehoseEvent (load_event ("kinesisFirehoseKinesisEvent.json" ))
1207
1207
1208
1208
assert event .region == "us-east-2"
@@ -1226,6 +1226,30 @@ def test_kinesis_firehose_event():
1226
1226
assert record_02 .data_as_json == {"Hello" : "World" }
1227
1227
1228
1228
1229
+ def test_kinesis_firehose_direct_put_event ():
1230
+ event = KinesisFirehoseEvent (load_event ("kinesisFirehoseDirectPutEvent.json" ))
1231
+
1232
+ assert event .region == "us-east-2"
1233
+ assert event .invocation_id == "2b4d1ad9-2f48-94bd-a088-767c317e994a"
1234
+ assert event .delivery_stream_arn == "arn:aws:firehose:us-east-2:123456789012:deliverystream/delivery-stream-name"
1235
+ assert event .source_kinesis_stream_arn is None
1236
+
1237
+ records = list (event .records )
1238
+ assert len (records ) == 2
1239
+ record_01 , record_02 = records [:]
1240
+
1241
+ assert record_01 .approximate_arrival_timestamp == 1510772160000
1242
+ assert record_01 .record_id == "record1"
1243
+ assert record_01 .data == "SGVsbG8gV29ybGQ="
1244
+ assert record_01 .data_as_bytes == b"Hello World"
1245
+ assert record_01 .data_as_text == "Hello World"
1246
+
1247
+ assert record_02 .data == "eyJIZWxsbyI6ICJXb3JsZCJ9"
1248
+ assert record_02 .data_as_bytes == b'{"Hello": "World"}'
1249
+ assert record_02 .data_as_text == '{"Hello": "World"}'
1250
+ assert record_02 .data_as_json == {"Hello" : "World" }
1251
+
1252
+
1229
1253
def test_kinesis_stream_event ():
1230
1254
event = KinesisStreamEvent (load_event ("kinesisStreamEvent.json" ))
1231
1255
0 commit comments