From 5d11cb003e4c7b736eddad6ca40057a114b8a9f8 Mon Sep 17 00:00:00 2001 From: Mathias Millet Date: Mon, 25 Nov 2024 10:20:51 +0100 Subject: [PATCH] chore: add test --- .../verticals/secret/test_secret_scanner.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/unit/verticals/secret/test_secret_scanner.py b/tests/unit/verticals/secret/test_secret_scanner.py index 8441be4712..dd09454c28 100644 --- a/tests/unit/verticals/secret/test_secret_scanner.py +++ b/tests/unit/verticals/secret/test_secret_scanner.py @@ -402,3 +402,31 @@ def test_scan_ignore_known_secrets(scan_mock: Mock, client, ignore_known_secrets assert results.results[0].policy_breaks == [unknown_secret] else: assert results.results[0].policy_breaks == [known_secret, unknown_secret] + + +@patch("pygitguardian.GGClient.multi_content_scan") +def test_scan_unexpected_error(scan_mock: Mock, client): + """ + GIVEN a call multi_content_scan raising an exception + WHEN calling scanner.scan + THEN an UnexpectedError is raised + """ + scannable = StringScannable(url="localhost", content="known\nunknown") + + def raise_exc(*args, **kwargs): + raise Exception("dummy") + + scan_mock.side_effect = raise_exc + + scanner = SecretScanner( + client=client, + cache=Cache(), + scan_context=ScanContext( + scan_mode=ScanMode.PATH, + command_path="ggshield", + ), + check_api_key=False, + secret_config=SecretConfig(), + ) + with pytest.raises(UnexpectedError, match="Scanning failed.*"): + scanner.scan([scannable], scanner_ui=Mock())