123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- from datetime import datetime, timezone
- from unittest.mock import patch
- import pytest
- from django.utils import timezone as django_timezone
- from sentry.testutils.cases import AcceptanceTestCase
- from sentry.testutils.silo import no_silo_test
- pytestmark = pytest.mark.sentry_metrics
- @no_silo_test
- class OrganizationReleasesTest(AcceptanceTestCase):
- release_date = datetime(2020, 5, 18, 15, 13, 58, 132928, tzinfo=timezone.utc)
- def setUp(self):
- super().setUp()
- self.user = self.create_user("foo@example.com")
- self.org = self.create_organization(owner=self.user, name="Rowdy Tiger")
- self.team = self.create_team(
- organization=self.org, name="Mariachi Band", members=[self.user]
- )
- self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal")
- self.project2 = self.create_project(
- organization=self.org, teams=[self.team], name="Bengal 2"
- )
- self.create_project(organization=self.org, teams=[self.team], name="Bengal 3")
- self.login_as(self.user)
- self.path = f"/organizations/{self.org.slug}/releases/"
- self.project.update(first_event=django_timezone.now())
- @patch("sentry.api.serializers.models.organization.get_organization_volume", return_value=None)
- def test_list(self, _):
- self.create_release(project=self.project, version="1.0", date_added=self.release_date)
- self.browser.get(self.path)
- self.browser.wait_until_not(".loading")
- # TODO(releases): add health data
- @patch("sentry.api.serializers.models.organization.get_organization_volume", return_value=None)
- def test_detail(self, _):
- release = self.create_release(
- project=self.project, version="1.0", date_added=self.release_date
- )
- self.browser.get(self.path + release.version)
- self.browser.wait_until_not(".loading")
- self.browser.wait_until_test_id("release-wrapper")
- self.browser.wait_until_not('[data-test-id="loading-placeholder"]')
- # TODO(releases): add health data
- @patch("sentry.api.serializers.models.organization.get_organization_volume", return_value=None)
- def test_detail_pick_project(self, _):
- release = self.create_release(
- project=self.project,
- additional_projects=[self.project2],
- version="1.0",
- date_added=self.release_date,
- )
- self.browser.get(self.path + release.version)
- self.browser.wait_until_not(".loading")
- assert "Select a project to continue" in self.browser.element("[role='dialog'] header").text
- # This is snapshotting features that are enable through the discover and performance features.
- @patch("sentry.api.serializers.models.organization.get_organization_volume", return_value=None)
- def test_detail_with_discover_and_performance(self, _):
- with self.feature(["organizations:discover-basic", "organizations:performance-view"]):
- release = self.create_release(
- project=self.project, version="1.0", date_added=self.release_date
- )
- self.browser.get(self.path + release.version)
- self.browser.wait_until_not(".loading")
- self.browser.wait_until_test_id("release-wrapper")
- self.browser.wait_until_not('[data-test-id="loading-placeholder"]')
- # TODO(releases): add health data
|