def test_s3_object_event_temp_credentials(): event = load_event("s3ObjectEventTempCredentials.json") parsed_event: S3ObjectLambdaEvent = handle_s3_object_event_temp_creds( event, LambdaContext()) assert parsed_event.xAmzRequestId == event["xAmzRequestId"] session_context = parsed_event.userIdentity.sessionContext assert session_context is not None session_issuer = session_context.sessionIssuer assert session_issuer is not None assert session_issuer.type == event["userIdentity"]["sessionContext"][ "sessionIssuer"]["type"] assert session_issuer.userName == event["userIdentity"]["sessionContext"][ "sessionIssuer"]["userName"] assert session_issuer.principalId == event["userIdentity"][ "sessionContext"]["sessionIssuer"]["principalId"] assert session_issuer.arn == event["userIdentity"]["sessionContext"][ "sessionIssuer"]["arn"] assert session_issuer.accountId == event["userIdentity"]["sessionContext"][ "sessionIssuer"]["accountId"] session_attributes = session_context.attributes assert session_attributes is not None assert (str( session_attributes.mfaAuthenticated).lower() == event["userIdentity"] ["sessionContext"]["attributes"]["mfaAuthenticated"]) assert session_attributes.creationDate == event["userIdentity"][ "sessionContext"]["attributes"]["creationDate"]
def test_s3_object_event(): event = load_event("s3ObjectEventIAMUser.json") parsed_event: S3ObjectLambdaEvent = handle_s3_object_event_iam( event, LambdaContext()) assert parsed_event.xAmzRequestId == event["xAmzRequestId"] assert parsed_event.getObjectContext is not None object_context = parsed_event.getObjectContext assert str( object_context.inputS3Url) == event["getObjectContext"]["inputS3Url"] assert object_context.outputRoute == event["getObjectContext"][ "outputRoute"] assert object_context.outputToken == event["getObjectContext"][ "outputToken"] assert parsed_event.configuration is not None configuration = parsed_event.configuration assert configuration.accessPointArn == event["configuration"][ "accessPointArn"] assert configuration.supportingAccessPointArn == event["configuration"][ "supportingAccessPointArn"] assert configuration.payload == event["configuration"]["payload"] assert parsed_event.userRequest is not None user_request = parsed_event.userRequest assert user_request.url == event["userRequest"]["url"] assert user_request.headers == event["userRequest"]["headers"] assert user_request.headers["Accept-Encoding"] == "identity" assert parsed_event.userIdentity is not None user_identity = parsed_event.userIdentity assert user_identity.type == event["userIdentity"]["type"] assert user_identity.principalId == event["userIdentity"]["principalId"] assert user_identity.arn == event["userIdentity"]["arn"] assert user_identity.accountId == event["userIdentity"]["accountId"] assert user_identity.accessKeyId == event["userIdentity"]["accessKeyId"] assert user_identity.userName == event["userIdentity"]["userName"] assert user_identity.sessionContext is None assert parsed_event.protocolVersion == event["protocolVersion"]
def test_ses_trigger_event(): event_dict = load_event("sesEvent.json") handle_ses(event_dict, LambdaContext())
def test_kinesis_trigger_event_no_envelope(): event_dict = load_event("kinesisStreamEvent.json") handle_kinesis_no_envelope(event_dict, LambdaContext())
def test_handle_sns_trigger_event_no_envelope(): event_dict = load_event("snsEvent.json") handle_sns_no_envelope(event_dict, LambdaContext())
def test_handle_sns_sqs_trigger_event_json_body(): # noqa: F811 event_dict = load_event("snsSqsEvent.json") handle_sns_sqs_json_body(event_dict, LambdaContext())
def test_handle_cloudwatch_trigger_event_no_envelope(): event_dict = load_event("cloudWatchLogEvent.json") handle_cloudwatch_logs_no_envelope(event_dict, LambdaContext())
def test_validate_event_does_not_conform_with_user_dict_model(): event_dict = load_event("cloudWatchLogEvent.json") with pytest.raises(ValidationError): handle_cloudwatch_logs(event_dict, LambdaContext())
def test_dynamo_db_stream_trigger_event_no_envelope(): event_dict = load_event("dynamoStreamEvent.json") handle_dynamodb_no_envelope(event_dict, LambdaContext())
def test_s3_glacier_trigger_event(): event_dict = load_event("s3EventGlacier.json") handle_s3_glacier(event_dict, LambdaContext())
def test_handle_eventbridge_trigger_event_no_envelope(): event_dict = load_event("eventBridgeEvent.json") handle_eventbridge_no_envelope(event_dict, LambdaContext())
def test_s3_empty_object(): event_dict = load_event("s3Event.json") event_dict["Records"][0]["s3"]["object"]["size"] = 0 parse(event=event_dict, model=S3Model)