|
@@ -720,6 +720,7 @@ class GroupListTest(APITestCase, SnubaTestCase):
|
|
|
},
|
|
|
project_id=self.project.id,
|
|
|
)
|
|
|
+
|
|
|
assigned_event = self.store_event(
|
|
|
data={
|
|
|
"timestamp": iso_format(before_now(seconds=195)),
|
|
@@ -728,11 +729,27 @@ class GroupListTest(APITestCase, SnubaTestCase):
|
|
|
project_id=self.project.id,
|
|
|
)
|
|
|
|
|
|
+ assigned_to_other_event = self.store_event(
|
|
|
+ data={
|
|
|
+ "timestamp": iso_format(before_now(seconds=195)),
|
|
|
+ "fingerprint": ["group-5"],
|
|
|
+ },
|
|
|
+ project_id=self.project.id,
|
|
|
+ )
|
|
|
+
|
|
|
self.login_as(user=self.user)
|
|
|
response = self.get_response(sort_by="date", limit=10, query="owner:me")
|
|
|
assert response.status_code == 200
|
|
|
assert len(response.data) == 0
|
|
|
|
|
|
+ GroupOwner.objects.create(
|
|
|
+ group=assigned_to_other_event.group,
|
|
|
+ project=assigned_to_other_event.group.project,
|
|
|
+ organization=assigned_to_other_event.group.project.organization,
|
|
|
+ type=0,
|
|
|
+ team_id=None,
|
|
|
+ user_id=self.user.id,
|
|
|
+ )
|
|
|
GroupOwner.objects.create(
|
|
|
group=event.group,
|
|
|
project=event.group.project,
|
|
@@ -744,19 +761,31 @@ class GroupListTest(APITestCase, SnubaTestCase):
|
|
|
|
|
|
response = self.get_response(sort_by="date", limit=10, query="owner:me")
|
|
|
assert response.status_code == 200
|
|
|
- assert len(response.data) == 1
|
|
|
+ assert len(response.data) == 2
|
|
|
assert int(response.data[0]["id"]) == event.group.id
|
|
|
-
|
|
|
+ assert int(response.data[1]["id"]) == assigned_to_other_event.group.id
|
|
|
+ # Because assigned_to_other_event is assigned to self.other_user, it should not show up in owner search for anyone but self.other_user. (aka. they are now the only owner)
|
|
|
+ other_user = self.create_user("other@user.com", is_superuser=False)
|
|
|
GroupAssignee.objects.create(
|
|
|
- group=assigned_event.group, project=assigned_event.group.project, user=self.user
|
|
|
+ group=assigned_to_other_event.group,
|
|
|
+ project=assigned_to_other_event.group.project,
|
|
|
+ user=other_user,
|
|
|
)
|
|
|
-
|
|
|
response = self.get_response(sort_by="date", limit=10, query="owner:me")
|
|
|
assert response.status_code == 200
|
|
|
- assert len(response.data) == 2
|
|
|
+ assert len(response.data) == 1
|
|
|
assert int(response.data[0]["id"]) == event.group.id
|
|
|
- assert int(response.data[1]["id"]) == assigned_event.group.id
|
|
|
|
|
|
+ response = self.get_response(
|
|
|
+ sort_by="date", limit=10, query="owner:{}".format(other_user.email)
|
|
|
+ )
|
|
|
+ assert response.status_code == 200
|
|
|
+ assert len(response.data) == 1
|
|
|
+ assert int(response.data[0]["id"]) == assigned_to_other_event.group.id
|
|
|
+
|
|
|
+ GroupAssignee.objects.create(
|
|
|
+ group=assigned_event.group, project=assigned_event.group.project, user=self.user
|
|
|
+ )
|
|
|
response = self.get_response(
|
|
|
sort_by="date", limit=10, query="owner:{}".format(self.user.email)
|
|
|
)
|