mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-09-29 22:34:33 +00:00
102 lines
3.8 KiB
Python
102 lines
3.8 KiB
Python
from django.urls import reverse
|
|
|
|
from sentry.testutils.cases import APITestCase, SnubaTestCase
|
|
from sentry.testutils.helpers.datetime import before_now, iso_format
|
|
from sentry.testutils.silo import region_silo_test
|
|
|
|
|
|
@region_silo_test
|
|
class ProjectEventsTest(APITestCase, SnubaTestCase):
|
|
def test_simple(self):
|
|
self.login_as(user=self.user)
|
|
|
|
project = self.create_project()
|
|
event_1 = self.store_event(
|
|
data={"timestamp": iso_format(before_now(minutes=1))}, project_id=project.id
|
|
)
|
|
event_2 = self.store_event(
|
|
data={"timestamp": iso_format(before_now(minutes=1))}, project_id=project.id
|
|
)
|
|
|
|
url = reverse(
|
|
"sentry-api-0-project-events",
|
|
kwargs={"organization_slug": project.organization.slug, "project_slug": project.slug},
|
|
)
|
|
response = self.client.get(url, format="json")
|
|
|
|
assert response.status_code == 200, response.content
|
|
assert len(response.data) == 2
|
|
assert sorted(map(lambda x: x["eventID"], response.data)) == sorted(
|
|
[event_1.event_id, event_2.event_id]
|
|
)
|
|
|
|
def test_message_search(self):
|
|
self.login_as(user=self.user)
|
|
|
|
project = self.create_project()
|
|
self.store_event(
|
|
data={"message": "how to make fast", "timestamp": iso_format(before_now(minutes=1))},
|
|
project_id=project.id,
|
|
)
|
|
event_2 = self.store_event(
|
|
data={"message": "Delet the Data", "timestamp": iso_format(before_now(minutes=1))},
|
|
project_id=project.id,
|
|
)
|
|
|
|
url = reverse(
|
|
"sentry-api-0-project-events",
|
|
kwargs={"organization_slug": project.organization.slug, "project_slug": project.slug},
|
|
)
|
|
response = self.client.get(url, {"query": "delet"}, format="json")
|
|
|
|
assert response.status_code == 200, response.content
|
|
assert len(response.data) == 1
|
|
assert response.data[0]["eventID"] == event_2.event_id
|
|
assert response.data[0]["message"] == "Delet the Data"
|
|
|
|
def test_filters_based_on_retention(self):
|
|
self.login_as(user=self.user)
|
|
|
|
project = self.create_project()
|
|
self.store_event(data={"timestamp": iso_format(before_now(days=2))}, project_id=project.id)
|
|
event_2 = self.store_event(
|
|
data={"timestamp": iso_format(before_now(minutes=1))}, project_id=project.id
|
|
)
|
|
|
|
with self.options({"system.event-retention-days": 1}):
|
|
url = reverse(
|
|
"sentry-api-0-project-events",
|
|
kwargs={
|
|
"organization_slug": project.organization.slug,
|
|
"project_slug": project.slug,
|
|
},
|
|
)
|
|
response = self.client.get(url, format="json")
|
|
|
|
assert response.status_code == 200, response.content
|
|
assert len(response.data) == 1
|
|
assert response.data[0]["eventID"] == event_2.event_id
|
|
|
|
def test_limited_to_week(self):
|
|
self.login_as(user=self.user)
|
|
|
|
project = self.create_project()
|
|
event = self.store_event(
|
|
data={"timestamp": iso_format(before_now(days=2))}, project_id=project.id
|
|
)
|
|
self.store_event(data={"timestamp": iso_format(before_now(days=8))}, project_id=project.id)
|
|
|
|
url = reverse(
|
|
"sentry-api-0-project-events",
|
|
kwargs={
|
|
"organization_slug": project.organization.slug,
|
|
"project_slug": project.slug,
|
|
},
|
|
)
|
|
|
|
with self.feature("organizations:project-event-date-limit"):
|
|
response = self.client.get(url, format="json")
|
|
assert response.status_code == 200, response.content
|
|
assert len(response.data) == 1
|
|
assert response.data[0]["eventID"] == event.event_id
|