blob: 2fbb2daac202adc072b099dd90f3cba75707ad97 [file] [log] [blame]
import pytest
from pre_commit_hooks.detect_aws_credentials import main
from testing.util import get_resource_path
# Input filename, expected return value
TESTS = (
('with_no_secrets.txt', 0),
('with_secrets.txt', 1),
('nonsense.txt', 0),
('ok_json.json', 0),
)
@pytest.mark.parametrize(('filename', 'expected_retval'), TESTS)
def test_detect_aws_credentials(filename, expected_retval):
# with a valid credentials file
ret = main(
[get_resource_path(filename), "--credentials-file=testing/resources/sample_aws_credentials"]
)
assert ret == expected_retval
def test_non_existent_credentials(capsys):
# with a non-existent credentials file
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'
)