Skip to content

Commit 409f838

Browse files
authored
fix(demo-mode): add sentry context to sync artifact bundles (#87568)
1 parent 1394ee5 commit 409f838

File tree

2 files changed

+17
-11
lines changed

2 files changed

+17
-11
lines changed

src/sentry/demo_mode/tasks.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,14 @@ def _sync_release_artifact_bundle(
142142

143143

144144
def _find_matching_project(project_id, organization_id):
145-
source_project = Project.objects.get(id=project_id)
146-
147-
return Project.objects.get(
148-
organization_id=organization_id,
149-
slug=source_project.slug,
150-
)
145+
try:
146+
source_project = Project.objects.get(id=project_id)
147+
148+
return Project.objects.get(
149+
organization_id=organization_id,
150+
slug=source_project.slug,
151+
)
152+
except Project.DoesNotExist:
153+
sentry_sdk.set_context("project_id", project_id)
154+
sentry_sdk.set_context("organization_id", organization_id)
155+
raise

tests/sentry/demo_mode/test_tasks.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from datetime import datetime, timedelta
2+
from unittest import mock
23

3-
import pytest
4+
from django.db.utils import IntegrityError
45
from django.utils import timezone
56

67
from sentry.demo_mode.tasks import _sync_artifact_bundles
@@ -135,11 +136,11 @@ def test_sync_release_artifact_bundles(self):
135136
assert target_release_bundle.release_name == source_release_bundle.release_name
136137
assert target_release_bundle.organization_id == self.target_org.id
137138

138-
def test_sync_artifact_bunles_rolls_back_on_error(self):
139-
self.set_up_artifact_bundle(self.source_org, self.source_proj_bar)
139+
@mock.patch("sentry.demo_mode.tasks._sync_release_artifact_bundle", side_effect=IntegrityError)
140+
def test_sync_artifact_bundles_rolls_back_on_error(self, _):
141+
self.set_up_artifact_bundle(self.source_org, self.source_proj_foo)
140142

141-
with pytest.raises(Project.DoesNotExist):
142-
_sync_artifact_bundles(source_org=self.source_org, target_org=self.target_org)
143+
_sync_artifact_bundles(source_org=self.source_org, target_org=self.target_org)
143144

144145
assert not ArtifactBundle.objects.filter(organization_id=self.target_org.id).exists()
145146
assert not ProjectArtifactBundle.objects.filter(organization_id=self.target_org.id).exists()

0 commit comments

Comments
 (0)