Add flag to detect-aws-credentials to allow missing keys
In the event that there exists no configuration for AWS credentials and
they are not exported in to the current environment, a flag may be
passed to allow exiting the hook successfully.
Resolves #174
Signed-off-by: Mike Fiedler <miketheman@gmail.com>
diff --git a/tests/detect_aws_credentials_test.py b/tests/detect_aws_credentials_test.py
index 9c2fda7..943a3f8 100644
--- a/tests/detect_aws_credentials_test.py
+++ b/tests/detect_aws_credentials_test.py
@@ -130,3 +130,17 @@
'and environment variables.\nPlease ensure you have the '
'correct setting for --credentials-file\n'
)
+
+
+@patch('pre_commit_hooks.detect_aws_credentials.get_aws_secrets_from_file')
+@patch('pre_commit_hooks.detect_aws_credentials.get_aws_secrets_from_env')
+def test_non_existent_credentials_with_allow_flag(mock_secrets_env, mock_secrets_file):
+ """Test behavior with no configured AWS secrets and flag to allow when missing."""
+ mock_secrets_env.return_value = set()
+ mock_secrets_file.return_value = set()
+ ret = main((
+ get_resource_path('aws_config_without_secrets.ini'),
+ "--credentials-file=testing/resources/credentailsfilethatdoesntexist",
+ "--allow-missing-credentials"
+ ))
+ assert ret == 0