Просмотр исходного кода

test: Rewrite tests that that use the Events table (#14406)

Since events soon won't be written to the events table, we need to
rewrite these tests that check the Events table to use nodestore
instead.
Lyn Nagara 5 лет назад
Родитель
Сommit
daa6c5318b

+ 14 - 9
tests/sentry/utils/test_sdk.py

@@ -8,6 +8,7 @@ from sentry.app import raven
 
 from sentry.models import Event
 from sentry.testutils import TestCase
+from sentry import nodestore
 
 
 class SentryInternalClientTest(TestCase):
@@ -18,10 +19,11 @@ class SentryInternalClientTest(TestCase):
         with self.tasks():
             event_id = raven.captureMessage("internal client test")
 
-        event = Event.objects.get()
-        assert event.project_id == settings.SENTRY_PROJECT
-        assert event.event_id == event_id
-        assert event.data["logentry"]["formatted"] == "internal client test"
+        event = nodestore.get(Event.generate_node_id(settings.SENTRY_PROJECT, event_id))
+
+        assert event["project"] == settings.SENTRY_PROJECT
+        assert event["event_id"] == event_id
+        assert event["logentry"]["formatted"] == "internal client test"
 
     def test_encoding(self):
         configure_sdk()
@@ -31,9 +33,12 @@ class SentryInternalClientTest(TestCase):
             pass
 
         with self.tasks():
-            raven.captureMessage("check the req", extra={"request": NotJSONSerializable()})
+            event_id = raven.captureMessage(
+                "check the req", extra={"request": NotJSONSerializable()}
+            )
+
+        event = nodestore.get(Event.generate_node_id(settings.SENTRY_PROJECT, event_id))
 
-        event = Event.objects.get()
-        assert event.project_id == settings.SENTRY_PROJECT
-        assert event.data["logentry"]["formatted"] == "check the req"
-        assert "NotJSONSerializable" in event.data["extra"]["request"]
+        assert event["project"] == settings.SENTRY_PROJECT
+        assert event["logentry"]["formatted"] == "check the req"
+        assert "NotJSONSerializable" in event["extra"]["request"]

+ 10 - 5
tests/symbolicator/test_payload_full.py

@@ -10,7 +10,8 @@ from django.core.urlresolvers import reverse
 from django.core.files.uploadedfile import SimpleUploadedFile
 
 from sentry.testutils import TransactionTestCase
-from sentry.models import Event, File, ProjectDebugFile
+from sentry.models import File, ProjectDebugFile
+from sentry import eventstore
 
 from tests.symbolicator import get_fixture_path, insta_snapshot_stacktrace_data
 
@@ -54,6 +55,9 @@ REAL_RESOLVING_EVENT_DATA = {
 
 
 class ResolvingIntegrationTestBase(object):
+    def get_event(self):
+        return eventstore.get_events(filter_keys={"project_id": [self.project.id]})[0]
+
     def test_real_resolving(self):
         url = reverse(
             "sentry-api-0-dsym-files",
@@ -85,7 +89,8 @@ class ResolvingIntegrationTestBase(object):
         resp = self._postWithHeader(dict(project=self.project.id, **REAL_RESOLVING_EVENT_DATA))
         assert resp.status_code == 200
 
-        event = Event.objects.get()
+        event = self.get_event()
+
         assert event.data["culprit"] == "main"
         insta_snapshot_stacktrace_data(self, event.data)
 
@@ -145,7 +150,7 @@ class ResolvingIntegrationTestBase(object):
         resp = self._postWithHeader(event_data)
         assert resp.status_code == 200
 
-        event = Event.objects.get()
+        event = self.get_event()
         assert event.data["culprit"] == "main"
         insta_snapshot_stacktrace_data(self, event.data)
 
@@ -155,7 +160,7 @@ class ResolvingIntegrationTestBase(object):
         resp = self._postWithHeader(dict(project=self.project.id, **REAL_RESOLVING_EVENT_DATA))
         assert resp.status_code == 200
 
-        event = Event.objects.get()
+        event = self.get_event()
         assert event.data["culprit"] == "unknown"
         insta_snapshot_stacktrace_data(self, event.data)
 
@@ -168,7 +173,7 @@ class ResolvingIntegrationTestBase(object):
         resp = self._postWithHeader(payload)
         assert resp.status_code == 200
 
-        event = Event.objects.get()
+        event = self.get_event()
         assert event.data["culprit"] == "unknown"
         insta_snapshot_stacktrace_data(self, event.data)
 

+ 4 - 3
tests/symbolicator/test_unreal_full.py

@@ -10,8 +10,8 @@ from django.core.urlresolvers import reverse
 from django.core.files.uploadedfile import SimpleUploadedFile
 
 from sentry.testutils import TransactionTestCase
-from sentry.models import Event, EventAttachment
-
+from sentry.models import EventAttachment
+from sentry import eventstore
 
 from tests.symbolicator import get_fixture_path
 
@@ -78,7 +78,8 @@ class SymbolicatorUnrealIntegrationTest(TransactionTestCase):
                 resp = self._postUnrealWithHeader(f.read())
                 assert resp.status_code == 200
 
-        event = Event.objects.get()
+        event = eventstore.get_events(filter_keys={"project_id": [self.project.id]})[0]
+
         self.insta_snapshot(
             {
                 "contexts": event.data.get("contexts"),