|
21 | 21 | _process_message,
|
22 | 22 | )
|
23 | 23 | from sentry.models.group import Group
|
| 24 | +from sentry.models.groupassignee import GroupAssignee |
24 | 25 | from sentry.receivers import create_default_projects
|
25 | 26 | from sentry.testutils.cases import SnubaTestCase, TestCase
|
26 | 27 | from sentry.testutils.helpers.datetime import before_now, iso_format
|
@@ -201,6 +202,40 @@ def test_issue_platform_override_priority(self, mock_get_severity_score):
|
201 | 202 | assert group.priority == PriorityLevel.HIGH
|
202 | 203 | assert "severity" not in group.data["metadata"]
|
203 | 204 |
|
| 205 | + def test_new_group_with_user_assignee(self) -> None: |
| 206 | + message = get_test_message(self.project.id, assignee=f"user:{self.user.id}") |
| 207 | + with self.feature("organizations:profile-file-io-main-thread-ingest"): |
| 208 | + result = _process_message(message) |
| 209 | + assert result is not None |
| 210 | + occurrence = result[0] |
| 211 | + assert occurrence is not None |
| 212 | + group = Group.objects.filter(grouphash__hash=occurrence.fingerprint[0]).first() |
| 213 | + assignee = GroupAssignee.objects.get(group=group) |
| 214 | + assert assignee.user_id == self.user.id |
| 215 | + |
| 216 | + def test_new_group_with_team_assignee(self) -> None: |
| 217 | + message = get_test_message(self.project.id, assignee=f"team:{self.team.id}") |
| 218 | + with self.feature("organizations:profile-file-io-main-thread-ingest"): |
| 219 | + result = _process_message(message) |
| 220 | + assert result is not None |
| 221 | + occurrence = result[0] |
| 222 | + assert occurrence is not None |
| 223 | + group = Group.objects.filter(grouphash__hash=occurrence.fingerprint[0]).first() |
| 224 | + assignee = GroupAssignee.objects.get(group=group) |
| 225 | + assert assignee.team_id == self.team.id |
| 226 | + |
| 227 | + def test_new_group_with_invalid_user_assignee(self) -> None: |
| 228 | + other_user = self.create_user() |
| 229 | + message = get_test_message(self.project.id, assignee=f"user:{other_user.id}") |
| 230 | + with self.feature("organizations:profile-file-io-main-thread-ingest"): |
| 231 | + result = _process_message(message) |
| 232 | + assert result is not None |
| 233 | + occurrence = result[0] |
| 234 | + assert occurrence is not None |
| 235 | + group = Group.objects.filter(grouphash__hash=occurrence.fingerprint[0]).first() |
| 236 | + with pytest.raises(GroupAssignee.DoesNotExist): |
| 237 | + GroupAssignee.objects.get(group=group) |
| 238 | + |
204 | 239 |
|
205 | 240 | class IssueOccurrenceLookupEventIdTest(IssueOccurrenceTestBase):
|
206 | 241 | def test_lookup_event_doesnt_exist(self) -> None:
|
|
0 commit comments