|
@@ -10,6 +10,7 @@ from sentry import eventstore
|
|
|
from sentry.models import File, Release, ReleaseFile
|
|
|
from sentry.testutils import TestCase, SnubaTestCase
|
|
|
from sentry.testutils.helpers.datetime import iso_format, before_now
|
|
|
+from sentry.utils import json
|
|
|
|
|
|
|
|
|
BASE64_SOURCEMAP = "data:application/json;base64," + (
|
|
@@ -35,8 +36,8 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
super(JavascriptIntegrationTest, self).setUp()
|
|
|
self.min_ago = iso_format(before_now(minutes=1))
|
|
|
|
|
|
- def get_event(self):
|
|
|
- return eventstore.get_events(filter_keys={"project_id": [self.project.id]})[0]
|
|
|
+ def get_event(self, event_id):
|
|
|
+ return eventstore.get_event_by_id(self.project.id, event_id)
|
|
|
|
|
|
def test_adds_contexts_without_device(self):
|
|
|
data = {
|
|
@@ -73,7 +74,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
|
|
|
contexts = event.interfaces["contexts"].to_json()
|
|
|
assert contexts.get("os") == {"name": "Windows 8", "type": "os"}
|
|
@@ -98,7 +99,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
contexts = event.interfaces["contexts"].to_json()
|
|
|
assert contexts.get("os") == {"name": "Android", "type": "os", "version": "4.3"}
|
|
|
assert contexts.get("browser") == {"name": "Android", "type": "browser", "version": "4.3"}
|
|
@@ -128,7 +129,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
contexts = event.interfaces["contexts"].to_json()
|
|
|
assert contexts.get("os") is None
|
|
|
assert contexts.get("browser") is None
|
|
@@ -184,7 +185,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
allow_scraping=True,
|
|
|
)
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
exception = event.interfaces["exception"]
|
|
|
frame_list = exception.values[0].stacktrace.frames
|
|
|
|
|
@@ -244,7 +245,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
allow_scraping=True,
|
|
|
)
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
exception = event.interfaces["exception"]
|
|
|
frame_list = exception.values[0].stacktrace.frames
|
|
|
|
|
@@ -277,7 +278,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
|
|
|
message = event.interfaces["logentry"]
|
|
|
assert (
|
|
@@ -355,7 +356,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
assert event.data["errors"] == [
|
|
|
{"type": "js_no_source", "url": "http//example.com/index.html"}
|
|
|
]
|
|
@@ -434,7 +435,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
assert event.data["errors"] == [
|
|
|
{"type": "js_no_source", "url": "http//example.com/index.html"}
|
|
|
]
|
|
@@ -496,7 +497,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
assert "errors" not in event.data
|
|
|
|
|
|
exception = event.interfaces["exception"]
|
|
@@ -573,7 +574,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
assert "errors" not in event.data
|
|
|
|
|
|
exception = event.interfaces["exception"]
|
|
@@ -734,7 +735,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
assert "errors" not in event.data
|
|
|
|
|
|
exception = event.interfaces["exception"]
|
|
@@ -880,7 +881,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
assert "errors" not in event.data
|
|
|
|
|
|
exception = event.interfaces["exception"]
|
|
@@ -956,7 +957,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
assert event.data["errors"] == [
|
|
|
{"url": u"http://example.com/file1.js", "type": "fetch_invalid_http_code", "value": 404}
|
|
|
]
|
|
@@ -1021,7 +1022,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
assert event.data["errors"] == [
|
|
|
{"url": u"http://example.com/unsupported.sourcemap.js", "type": "js_invalid_source"}
|
|
|
]
|
|
@@ -1053,7 +1054,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
assert event.data["errors"] == [{"url": u"<data url>", "type": "js_no_source"}]
|
|
|
|
|
|
@responses.activate
|
|
@@ -1094,7 +1095,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code == 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
assert "errors" not in event.data
|
|
|
|
|
|
@responses.activate
|
|
@@ -1155,7 +1156,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
assert event.data["errors"] == [
|
|
|
{"url": u"http://example.com/file1.js", "type": "js_invalid_content"},
|
|
|
{"url": u"http://example.com/file2.js", "type": "js_invalid_content"},
|
|
@@ -1251,7 +1252,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
|
|
|
exception = event.interfaces["exception"]
|
|
|
frame_list = exception.values[0].stacktrace.frames
|
|
@@ -1362,7 +1363,7 @@ class JavascriptIntegrationTest(TestCase, SnubaTestCase):
|
|
|
resp = self._postWithHeader(data)
|
|
|
assert resp.status_code, 200
|
|
|
|
|
|
- event = self.get_event()
|
|
|
+ event = self.get_event(json.loads(resp.content)["id"])
|
|
|
exception = event.interfaces["exception"]
|
|
|
frame_list = exception.values[0].stacktrace.frames
|
|
|
|