コード例 #1
0
 def test_add_s3_bucket_notification(self, aws_client):
     aws_client.return_value.get_bucket_notification_configuration.return_value = {
         'LambdaFunctionConfigurations': []
     }
     set_module_args({
         'region': 'us-east-2',
         'lambda_function_arn': 'test-lambda-arn',
         'bucket_name': 'test-lambda',
         'event_name': 'test-id',
         'events': ['s3:ObjectCreated:*', 's3:ObjectRemoved:*'],
         'state': 'present',
         'prefix': '/images',
         'suffix': '.jpg'
     })
     with pytest.raises(AnsibleExitJson) as context:
         s3_bucket_notification.main()
     result = context.value.args[0]
     assert result['changed'] is True
     assert aws_client.return_value.get_bucket_notification_configuration.call_count == 1
     aws_client.return_value.put_bucket_notification_configuration.assert_called_with(
         Bucket='test-lambda',
         NotificationConfiguration={
             'LambdaFunctionConfigurations': [{
                 'Id':
                 'test-id',
                 'LambdaFunctionArn':
                 'test-lambda-arn',
                 'Events': ['s3:ObjectCreated:*', 's3:ObjectRemoved:*'],
                 'Filter': {
                     'Key': {
                         'FilterRules': [{
                             'Name': 'Prefix',
                             'Value': '/images'
                         }, {
                             'Name': 'Suffix',
                             'Value': '.jpg'
                         }]
                     }
                 }
             }]
         })
コード例 #2
0
 def test_module_fail_when_required_args_missing(self):
     with pytest.raises(AnsibleFailJson):
         set_module_args({})
         s3_bucket_notification.main()