@@ -1069,6 +1069,92 @@ public void CognitoPreTokenGenerationEventTest(Type serializerType)
1069
1069
}
1070
1070
}
1071
1071
1072
+ [ Theory ]
1073
+ [ InlineData ( typeof ( JsonSerializer ) ) ]
1074
+ #if NETCOREAPP3_1_OR_GREATER
1075
+ [ InlineData ( typeof ( Amazon . Lambda . Serialization . SystemTextJson . LambdaJsonSerializer ) ) ]
1076
+ [ InlineData ( typeof ( Amazon . Lambda . Serialization . SystemTextJson . DefaultLambdaJsonSerializer ) ) ]
1077
+ #endif
1078
+ public void CognitoPreTokenGenerationV2EventTest ( Type serializerType )
1079
+ {
1080
+ var serializer = Activator . CreateInstance ( serializerType ) as ILambdaSerializer ;
1081
+ using ( var fileStream = LoadJsonTestFile ( "cognito-pretokengenerationv2-event.json" ) )
1082
+ {
1083
+ var cognitoPreTokenGenerationV2Event = serializer . Deserialize < CognitoPreTokenGenerationV2Event > ( fileStream ) ;
1084
+
1085
+ AssertBaseClass ( cognitoPreTokenGenerationV2Event , eventVersion : "2" ) ;
1086
+
1087
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Request . GroupConfiguration . GroupsToOverride . Count ) ;
1088
+ Assert . Equal ( "group1" , cognitoPreTokenGenerationV2Event . Request . GroupConfiguration . GroupsToOverride [ 0 ] ) ;
1089
+ Assert . Equal ( "group2" , cognitoPreTokenGenerationV2Event . Request . GroupConfiguration . GroupsToOverride [ 1 ] ) ;
1090
+
1091
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Request . GroupConfiguration . IamRolesToOverride . Count ) ;
1092
+ Assert . Equal ( "role1" , cognitoPreTokenGenerationV2Event . Request . GroupConfiguration . IamRolesToOverride [ 0 ] ) ;
1093
+ Assert . Equal ( "role2" , cognitoPreTokenGenerationV2Event . Request . GroupConfiguration . IamRolesToOverride [ 1 ] ) ;
1094
+
1095
+ Assert . Equal ( "role" , cognitoPreTokenGenerationV2Event . Request . GroupConfiguration . PreferredRole ) ;
1096
+
1097
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Request . ClientMetadata . Count ) ;
1098
+ Assert . Equal ( "metadata_1" , cognitoPreTokenGenerationV2Event . Request . ClientMetadata . ToArray ( ) [ 0 ] . Key ) ;
1099
+ Assert . Equal ( "metadata_value_1" , cognitoPreTokenGenerationV2Event . Request . ClientMetadata . ToArray ( ) [ 0 ] . Value ) ;
1100
+ Assert . Equal ( "metadata_2" , cognitoPreTokenGenerationV2Event . Request . ClientMetadata . ToArray ( ) [ 1 ] . Key ) ;
1101
+ Assert . Equal ( "metadata_value_2" , cognitoPreTokenGenerationV2Event . Request . ClientMetadata . ToArray ( ) [ 1 ] . Value ) ;
1102
+
1103
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Request . UserAttributes . Count ) ;
1104
+ Assert . Equal ( "attribute_1" , cognitoPreTokenGenerationV2Event . Request . UserAttributes . ToArray ( ) [ 0 ] . Key ) ;
1105
+ Assert . Equal ( "attribute_value_1" , cognitoPreTokenGenerationV2Event . Request . UserAttributes . ToArray ( ) [ 0 ] . Value ) ;
1106
+ Assert . Equal ( "attribute_2" , cognitoPreTokenGenerationV2Event . Request . UserAttributes . ToArray ( ) [ 1 ] . Key ) ;
1107
+ Assert . Equal ( "attribute_value_2" , cognitoPreTokenGenerationV2Event . Request . UserAttributes . ToArray ( ) [ 1 ] . Value ) ;
1108
+
1109
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Request . Scopes . Count ) ;
1110
+ Assert . Equal ( "scope_1" , cognitoPreTokenGenerationV2Event . Request . Scopes . ToArray ( ) [ 0 ] ) ;
1111
+ Assert . Equal ( "scope_2" , cognitoPreTokenGenerationV2Event . Request . Scopes . ToArray ( ) [ 1 ] ) ;
1112
+
1113
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . IdTokenGeneration . ClaimsToAddOrOverride . Count ) ;
1114
+ Assert . Equal ( "claim_1" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . IdTokenGeneration . ClaimsToAddOrOverride . ToArray ( ) [ 0 ] . Key ) ;
1115
+ Assert . Equal ( "claim_1_value_1" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . IdTokenGeneration . ClaimsToAddOrOverride . ToArray ( ) [ 0 ] . Value ) ;
1116
+ Assert . Equal ( "claim_2" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . IdTokenGeneration . ClaimsToAddOrOverride . ToArray ( ) [ 1 ] . Key ) ;
1117
+ Assert . Equal ( "claim_1_value_2" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . IdTokenGeneration . ClaimsToAddOrOverride . ToArray ( ) [ 1 ] . Value ) ;
1118
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . IdTokenGeneration . ClaimsToSuppress . Count ) ;
1119
+ Assert . Equal ( "suppress1" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . IdTokenGeneration . ClaimsToSuppress [ 0 ] ) ;
1120
+ Assert . Equal ( "suppress2" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . IdTokenGeneration . ClaimsToSuppress [ 1 ] ) ;
1121
+
1122
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ClaimsToAddOrOverride . Count ) ;
1123
+ Assert . Equal ( "claim_1" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ClaimsToAddOrOverride . ToArray ( ) [ 0 ] . Key ) ;
1124
+ Assert . Equal ( "claim_1_value_1" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ClaimsToAddOrOverride . ToArray ( ) [ 0 ] . Value ) ;
1125
+ Assert . Equal ( "claim_2" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ClaimsToAddOrOverride . ToArray ( ) [ 1 ] . Key ) ;
1126
+ Assert . Equal ( "claim_1_value_2" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ClaimsToAddOrOverride . ToArray ( ) [ 1 ] . Value ) ;
1127
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ClaimsToSuppress . Count ) ;
1128
+ Assert . Equal ( "suppress1" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ClaimsToSuppress [ 0 ] ) ;
1129
+ Assert . Equal ( "suppress2" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ClaimsToSuppress [ 1 ] ) ;
1130
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ScopesToAdd . Count ) ;
1131
+ Assert . Equal ( "add1" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ScopesToAdd [ 0 ] ) ;
1132
+ Assert . Equal ( "add2" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ScopesToAdd [ 1 ] ) ;
1133
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ScopesToSuppress . Count ) ;
1134
+ Assert . Equal ( "suppress1" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ScopesToSuppress [ 0 ] ) ;
1135
+ Assert . Equal ( "suppress2" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . AccessTokenGeneration . ScopesToSuppress [ 1 ] ) ;
1136
+
1137
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . GroupOverrideDetails . GroupsToOverride . Count ) ;
1138
+ Assert . Equal ( "group1" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . GroupOverrideDetails . GroupsToOverride [ 0 ] ) ;
1139
+ Assert . Equal ( "group2" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . GroupOverrideDetails . GroupsToOverride [ 1 ] ) ;
1140
+
1141
+ Assert . Equal ( 2 , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . GroupOverrideDetails . IamRolesToOverride . Count ) ;
1142
+ Assert . Equal ( "role1" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . GroupOverrideDetails . IamRolesToOverride [ 0 ] ) ;
1143
+ Assert . Equal ( "role2" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . GroupOverrideDetails . IamRolesToOverride [ 1 ] ) ;
1144
+
1145
+ Assert . Equal ( "role" , cognitoPreTokenGenerationV2Event . Response . ClaimsAndScopeOverrideDetails . GroupOverrideDetails . PreferredRole ) ;
1146
+
1147
+ MemoryStream ms = new MemoryStream ( ) ;
1148
+ serializer . Serialize < CognitoPreTokenGenerationV2Event > ( cognitoPreTokenGenerationV2Event , ms ) ;
1149
+ ms . Position = 0 ;
1150
+ var json = new StreamReader ( ms ) . ReadToEnd ( ) ;
1151
+
1152
+ var original = JObject . Parse ( File . ReadAllText ( "cognito-pretokengenerationv2-event.json" ) ) ;
1153
+ var serialized = JObject . Parse ( json ) ;
1154
+ Assert . True ( JToken . DeepEquals ( serialized , original ) , "Serialized object is not the same as the original JSON" ) ;
1155
+ }
1156
+ }
1157
+
1072
1158
[ Theory ]
1073
1159
[ InlineData ( typeof ( JsonSerializer ) ) ]
1074
1160
#if NETCOREAPP3_1_OR_GREATER
@@ -1223,11 +1309,11 @@ public void CognitoCustomSmsSenderEventTest(Type serializerType)
1223
1309
}
1224
1310
}
1225
1311
1226
- private static void AssertBaseClass < TRequest , TResponse > ( CognitoTriggerEvent < TRequest , TResponse > cognitoTriggerEvent )
1312
+ private static void AssertBaseClass < TRequest , TResponse > ( CognitoTriggerEvent < TRequest , TResponse > cognitoTriggerEvent , string eventVersion = "1" )
1227
1313
where TRequest : CognitoTriggerRequest , new ( )
1228
1314
where TResponse : CognitoTriggerResponse , new ( )
1229
1315
{
1230
- Assert . Equal ( "1" , cognitoTriggerEvent . Version ) ;
1316
+ Assert . Equal ( eventVersion , cognitoTriggerEvent . Version ) ;
1231
1317
Assert . Equal ( "us-east-1" , cognitoTriggerEvent . Region ) ;
1232
1318
Assert . Equal ( "us-east-1_id" , cognitoTriggerEvent . UserPoolId ) ;
1233
1319
Assert . Equal ( "username_uuid" , cognitoTriggerEvent . UserName ) ;
0 commit comments