12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- from __future__ import absolute_import
- import pytz
- from sentry.utils.compat.mock import patch
- from sentry.testutils import AcceptanceTestCase, SnubaTestCase
- from sentry.testutils.helpers.datetime import iso_format, before_now
- class OrganizationDiscoverTest(AcceptanceTestCase, SnubaTestCase):
- def setUp(self):
- super(OrganizationDiscoverTest, self).setUp()
- self.login_as(user=self.user, superuser=False)
- self.org = self.create_organization(owner=self.user, name="foo")
- self.project = self.create_project(organization=self.org, name="Bengal")
- sec_ago = iso_format(before_now(seconds=1))
- self.event = self.store_event(
- data={
- "event_id": "a" * 32,
- "platform": "python",
- "environment": "staging",
- "fingerprint": ["group_1"],
- "message": "message!",
- "tags": {"sentry:release": "foo"},
- "exception": {
- "values": [
- {
- "type": "ValidationError",
- "value": "Bad request",
- "mechanism": {"type": "1", "value": "1"},
- "stacktrace": {
- "frames": [
- {
- "function": "?",
- "filename": "http://localhost:1337/error.js",
- "lineno": 29,
- "colno": 3,
- "in_app": False,
- }
- ]
- },
- }
- ]
- },
- "timestamp": sec_ago,
- },
- project_id=self.project.id,
- )
- self.path = u"/organizations/{}/discover/".format(self.org.slug)
- self.dismiss_assistant("discover_sidebar")
- def test_no_access(self):
- self.browser.get(self.path)
- self.browser.wait_until_not(".loading")
- self.browser.snapshot("discover - no access")
- def test_query_builder(self):
- with self.feature("organizations:discover"):
- self.browser.get(self.path)
- self.browser.wait_until_not(".loading")
- self.browser.wait_until_not(".is-disabled")
- self.browser.snapshot("discover - query builder")
- @patch("django.utils.timezone.now")
- def test_run_query(self, mock_now):
- mock_now.return_value = before_now().replace(tzinfo=pytz.utc)
- with self.feature("organizations:discover"):
- self.browser.get(self.path)
- self.browser.wait_until_not(".loading")
- self.browser.click_when_visible('[aria-label="Run"]')
- self.browser.wait_until_not(".loading")
- self.browser.wait_until_test_id("result")
- self.browser.snapshot("discover - query results")
- def test_save_query_edit(self):
- with self.feature("organizations:discover"):
- self.browser.get(self.path)
- self.browser.wait_until_not(".loading")
- self.browser.find_element_by_xpath("//button//span[contains(text(), 'Save')]").click()
- self.browser.get(self.path + "saved/1/?editing=true")
- self.browser.wait_until_test_id("result")
- self.browser.wait_until_not(".loading")
- self.browser.snapshot("discover - saved query")
- def test_saved_query_list(self):
- with self.feature("organizations:discover"):
- self.browser.get(self.path)
- self.browser.wait_until_not(".loading")
- self.browser.find_element_by_xpath("//button//span[contains(text(), 'Save')]").click()
- self.browser.get(self.path + "?view=saved")
- self.browser.wait_until_test_id("result")
- self.browser.wait_until_not(".loading")
- self.browser.snapshot("discover - saved query list")
|