@@ -13,7 +13,7 @@ pub struct KinesisEvent {
1313
1414/// `KinesisTimeWindowEvent` represents an Amazon Dynamodb event when using time windows
1515/// ref. <https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-windows>
16- #[ derive( Clone , Debug , Deserialize , Eq , PartialEq , Serialize ) ]
16+ #[ derive( Clone , Debug , Default , Deserialize , Eq , PartialEq , Serialize ) ]
1717#[ serde( rename_all = "camelCase" ) ]
1818pub struct KinesisTimeWindowEvent {
1919 #[ serde( rename = "KinesisEvent" ) ]
@@ -34,7 +34,7 @@ pub struct KinesisTimeWindowEventResponse {
3434 // pub batch_item_failures: Vec<KinesisBatchItemFailure>,
3535}
3636
37- #[ derive( Clone , Debug , Deserialize , Eq , PartialEq , Serialize ) ]
37+ #[ derive( Clone , Debug , Default , Deserialize , Eq , PartialEq , Serialize ) ]
3838#[ serde( rename_all = "camelCase" ) ]
3939pub struct KinesisEventRecord {
4040 /// nolint: stylecheck
@@ -59,7 +59,7 @@ pub struct KinesisEventRecord {
5959 pub kinesis : KinesisRecord ,
6060}
6161
62- #[ derive( Clone , Debug , Deserialize , Eq , PartialEq , Serialize ) ]
62+ #[ derive( Clone , Debug , Default , Deserialize , Eq , PartialEq , Serialize ) ]
6363#[ serde( rename_all = "camelCase" ) ]
6464pub struct KinesisRecord {
6565 pub approximate_arrival_timestamp : SecondTimestamp ,
@@ -110,10 +110,16 @@ mod test {
110110 assert_eq ! ( parsed, reparsed) ;
111111 }
112112
113+ /// `cargo lambda init` autogenerates code that relies on `Default` being implemented for event structs.
114+ ///
115+ /// This test validates that `Default` is implemented for each KinesisEvent struct.
113116 #[ test]
114117 #[ cfg( feature = "kinesis" ) ]
115- fn default_kinesis_event ( ) {
116- let event = KinesisEvent :: default ( ) ;
117- assert_eq ! ( event. records, vec![ ] ) ;
118+ fn test_ensure_default_implemented_for_structs ( ) {
119+ let _kinesis_event = KinesisEvent :: default ( ) ;
120+ let _kinesis_time_window_event = KinesisTimeWindowEvent :: default ( ) ;
121+ let _kinesis_event_record = KinesisEventRecord :: default ( ) ;
122+ let _kinesis_record = KinesisRecord :: default ( ) ;
123+ let _kinesis_encryption_type = KinesisEncryptionType :: default ( ) ;
118124 }
119125}
0 commit comments