def test_ignore_case(): with transient_settings({ 'plugins_used': [{ 'name': 'KeywordDetector', }], }): assert list( scan_line('os.environ["AWS_SECRET_ACCESS_KEY"] = "testing"'))
def test_is_templated_secret(line, result): with transient_settings({ 'plugins_used': [{ 'name': 'KeywordDetector', }], 'filters_used': [{ 'path': 'detect_secrets.filters.heuristic.is_templated_secret', }], }): assert bool(list(scan_line(line))) is result
def test_analyze_javascript_negatives(line): with transient_settings({ 'plugins_used': [{ 'name': 'KeywordDetector', }], }): assert list(scan_line(line)) with tempfile.NamedTemporaryFile(suffix='.js') as f: f.write(line.encode('utf-8')) f.seek(0) assert not list(scan_file(f.name))
def test_keyword(file_extension, line, expected_secret): if not file_extension: secrets = list(scan_line(line)) else: secrets = list( KeywordDetector(keyword_exclude='.*fake.*').analyze_line( filename='mock_filename.{}'.format(file_extension), line=line, ), ) if expected_secret: assert secrets[0].secret_value == expected_secret else: assert not secrets