Skip to content

Commit bd8473d

Browse files
committed
more test coverage
1 parent 331e52c commit bd8473d

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

tests/sentry/tasks/seer/test_cleanup.py

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
import pytest
66

77
from sentry.seer.models import SeerApiError
8-
from sentry.tasks.seer.cleanup import cleanup_seer_repository_preferences
8+
from sentry.tasks.seer.cleanup import (
9+
bulk_cleanup_seer_repository_preferences,
10+
cleanup_seer_repository_preferences,
11+
)
912
from sentry.testutils.cases import TestCase
1013

1114

@@ -69,3 +72,40 @@ def test_cleanup_seer_repository_preferences_organization_not_found(
6972
"repo_provider": self.repo_provider,
7073
"repo_external_id": self.repo_external_id,
7174
}
75+
76+
77+
class TestBulkSeerRepositoryCleanup(TestCase):
78+
def setUp(self) -> None:
79+
self.organization = self.create_organization()
80+
self.repos = [
81+
{"repo_external_id": "123", "repo_provider": "github"},
82+
{"repo_external_id": "456", "repo_provider": "github"},
83+
]
84+
85+
@patch("sentry.tasks.seer.cleanup.make_bulk_remove_repositories_request")
86+
def test_bulk_cleanup_success(self, mock_request: MagicMock) -> None:
87+
"""Test successful bulk cleanup of Seer repository preferences."""
88+
mock_request.return_value.status = 200
89+
90+
bulk_cleanup_seer_repository_preferences(
91+
organization_id=self.organization.id,
92+
repos=self.repos,
93+
)
94+
95+
mock_request.assert_called_once()
96+
body = mock_request.call_args[0][0]
97+
assert body["organization_id"] == self.organization.id
98+
assert len(body["repositories"]) == 2
99+
assert body["repositories"][0] == {"repo_provider": "github", "repo_external_id": "123"}
100+
assert body["repositories"][1] == {"repo_provider": "github", "repo_external_id": "456"}
101+
102+
@patch("sentry.tasks.seer.cleanup.make_bulk_remove_repositories_request")
103+
def test_bulk_cleanup_api_error(self, mock_request: MagicMock) -> None:
104+
"""Test handling of Seer API errors."""
105+
mock_request.return_value.status = 500
106+
107+
with pytest.raises(SeerApiError):
108+
bulk_cleanup_seer_repository_preferences(
109+
organization_id=self.organization.id,
110+
repos=self.repos,
111+
)

0 commit comments

Comments
 (0)