diff --git a/src/sentry/models/artifactbundle.py b/src/sentry/models/artifactbundle.py index d71207c51978..30b847ed6509 100644 --- a/src/sentry/models/artifactbundle.py +++ b/src/sentry/models/artifactbundle.py @@ -253,8 +253,8 @@ def normalize_headers(headers: dict) -> dict: return {k.lower(): v for k, v in headers.items()} @staticmethod - def normalize_debug_id(debug_id: str | None) -> str | None: - if debug_id is None: + def normalize_debug_id(debug_id: object) -> str | None: + if not isinstance(debug_id, str): return None try: diff --git a/tests/sentry/debug_files/test_artifact_bundles.py b/tests/sentry/debug_files/test_artifact_bundles.py index 1b2fc59d404b..f8dcc24f9cc7 100644 --- a/tests/sentry/debug_files/test_artifact_bundles.py +++ b/tests/sentry/debug_files/test_artifact_bundles.py @@ -102,6 +102,15 @@ def get_indexed_files(project, release_name="", dist_name="", distinct=False): return list(query) +def test_normalize_debug_id_rejects_non_strings() -> None: + assert ArtifactBundleArchive.normalize_debug_id(None) is None + assert ArtifactBundleArchive.normalize_debug_id(123) is None + assert ( + ArtifactBundleArchive.normalize_debug_id("aaaaaaaa-0000-0000-0000-000000000000") + == "aaaaaaaa-0000-0000-0000-000000000000" + ) + + class ArtifactLookupTest(TestCase): def clear_cache(self): redis_client = get_redis_cluster_for_artifact_bundles()