Merge pull request #102 from pre-commit/improve_error_message_aws_101

Improve error message when credentials file is not provided
diff --git a/pre_commit_hooks/detect_aws_credentials.py b/pre_commit_hooks/detect_aws_credentials.py
index e63e72a..f727078 100644
--- a/pre_commit_hooks/detect_aws_credentials.py
+++ b/pre_commit_hooks/detect_aws_credentials.py
@@ -8,8 +8,8 @@
 
 
 def get_your_keys(credentials_file):
-    """ reads the secret keys in your credentials file in order to be able to look
-    for them in the submitted code.
+    """reads the secret keys in your credentials file in order to be able to
+    look for them in the submitted code.
     """
     aws_credentials_file_path = os.path.expanduser(credentials_file)
     if not os.path.exists(aws_credentials_file_path):
@@ -41,14 +41,22 @@
     parser = argparse.ArgumentParser()
     parser.add_argument('filenames', nargs='*', help='Filenames to run')
     parser.add_argument(
-        "--credentials-file",
+        '--credentials-file',
         default='~/.aws/credentials',
-        help="location of aws credentials file from which to get the secret "
-             "keys we're looking for",
+        help=(
+            'location of aws credentials file from which to get the secret '
+            "keys we're looking for"
+        ),
     )
     args = parser.parse_args(argv)
     keys = get_your_keys(args.credentials_file)
     if not keys:
+        print(
+            'No aws keys were configured at {0}\n'
+            'Configure them with --credentials-file'.format(
+                args.credentials_file,
+            ),
+        )
         return 2
 
     bad_filenames = check_file_for_aws_keys(args.filenames, keys)
diff --git a/tests/detect_aws_credentials_test.py b/tests/detect_aws_credentials_test.py
index 495c574..2fbb2da 100644
--- a/tests/detect_aws_credentials_test.py
+++ b/tests/detect_aws_credentials_test.py
@@ -12,10 +12,6 @@
     ('ok_json.json', 0),
 )
 
-NO_CREDENTIALS_TEST = (
-    ('with_secrets.txt', 2),
-)
-
 
 @pytest.mark.parametrize(('filename', 'expected_retval'), TESTS)
 def test_detect_aws_credentials(filename, expected_retval):
@@ -26,10 +22,16 @@
     assert ret == expected_retval
 
 
-@pytest.mark.parametrize(('filename', 'expected_retval'), NO_CREDENTIALS_TEST)
-def test_non_existent_credentials(filename, expected_retval):
+def test_non_existent_credentials(capsys):
     # with a non-existent credentials file
-    ret = main(
-        [get_resource_path(filename), "--credentials-file=testing/resources/credentailsfilethatdoesntexist"]
+    ret = main((
+        get_resource_path('with_secrets.txt'),
+        "--credentials-file=testing/resources/credentailsfilethatdoesntexist"
+    ))
+    assert ret == 2
+    out, _ = capsys.readouterr()
+    assert out == (
+        'No aws keys were configured at '
+        'testing/resources/credentailsfilethatdoesntexist\n'
+        'Configure them with --credentials-file\n'
     )
-    assert ret == expected_retval