@@ -907,7 +907,49 @@ describe('from/dynamodb.js', () => {
907907 it ( 'should ignore expired ttl' , ( done ) => {
908908 const events = toDynamodbRecords ( [
909909 {
910- timestamp : 1573005490000 ,
910+ timestamp : 1573005490 ,
911+ keys : {
912+ pk : '1' ,
913+ sk : 'thing' ,
914+ } ,
915+ oldImage : {
916+ pk : '1' ,
917+ sk : 'thing' ,
918+ name : 'N1' ,
919+ ttl : 1573005490 ,
920+ timestamp : 1573005490000 ,
921+ } ,
922+ ttlDelete : true ,
923+ } ,
924+ {
925+ timestamp : 1573005490 ,
926+ keys : {
927+ pk : '1' ,
928+ sk : 'thing' ,
929+ } ,
930+ oldImage : {
931+ pk : '1' ,
932+ sk : 'thing' ,
933+ name : 'N1' ,
934+ ttl : 1573015491 ,
935+ timestamp : 1573005490000 ,
936+ } ,
937+ } ,
938+ ] ) ;
939+
940+ fromDynamodb ( events , { ignoreTtlExpiredEvents : true } )
941+ . collect ( )
942+ . tap ( ( collected ) => {
943+ // console.log(JSON.stringify(collected, null, 2));
944+ expect ( collected . length ) . to . equal ( 1 ) ;
945+ } )
946+ . done ( done ) ;
947+ } ) ;
948+
949+ it ( 'should ignore replicated ttl' , ( done ) => {
950+ const events = toDynamodbRecords ( [
951+ {
952+ timestamp : 1573005491 ,
911953 keys : {
912954 pk : '1' ,
913955 sk : 'thing' ,
@@ -930,7 +972,7 @@ describe('from/dynamodb.js', () => {
930972 pk : '1' ,
931973 sk : 'thing' ,
932974 name : 'N1' ,
933- ttl : 1573015490 , // hasn't expired yet
975+ ttl : 1573015490 , // expired, has no identity attributes to indicate ttl delete
934976 timestamp : 1573005490000 ,
935977 } ,
936978 } ,
@@ -945,6 +987,45 @@ describe('from/dynamodb.js', () => {
945987 . done ( done ) ;
946988 } ) ;
947989
990+ it ( 'should passes through record with no ttl if ignore ttl events is true' , ( done ) => {
991+ const events = toDynamodbRecords ( [
992+ {
993+ timestamp : 1573005491 ,
994+ keys : {
995+ pk : '1' ,
996+ sk : 'thing' ,
997+ } ,
998+ oldImage : {
999+ pk : '1' ,
1000+ sk : 'thing' ,
1001+ name : 'N1' ,
1002+ timestamp : 1573005490000 ,
1003+ } ,
1004+ } ,
1005+ {
1006+ timestamp : 1573005490 ,
1007+ keys : {
1008+ pk : '1' ,
1009+ sk : 'thing' ,
1010+ } ,
1011+ oldImage : {
1012+ pk : '1' ,
1013+ sk : 'thing' ,
1014+ name : 'N1' ,
1015+ timestamp : 1573005490000 ,
1016+ } ,
1017+ } ,
1018+ ] ) ;
1019+
1020+ fromDynamodb ( events , { ignoreTtlExpiredEvents : true } )
1021+ . collect ( )
1022+ . tap ( ( collected ) => {
1023+ // console.log(JSON.stringify(collected, null, 2));
1024+ expect ( collected . length ) . to . equal ( 2 ) ;
1025+ } )
1026+ . done ( done ) ;
1027+ } ) ;
1028+
9481029 it ( 'should keep replica records if ignoreReplicas is false' , ( done ) => {
9491030 const events = toDynamodbRecords ( [
9501031 {
0 commit comments