from django.test.client import RequestFactory

from fixtures.apidocs_test_case import APIDocsTestCase
from sentry.testutils.helpers.datetime import before_now, iso_format
from sentry.testutils.silo import region_silo_test


class ProjectGroupEventBase(APIDocsTestCase):
    def setUp(self):
        first_release = {
            "firstEvent": before_now(minutes=3),
            "lastEvent": before_now(minutes=2, seconds=30),
        }
        last_release = {
            "firstEvent": before_now(minutes=1, seconds=30),
            "lastEvent": before_now(minutes=1),
        }

        for timestamp in first_release.values():
            self.create_event("a", release="1.0", timestamp=iso_format(timestamp))
        self.create_event("b", release="1.1")

        for timestamp in last_release.values():
            event = self.create_event("c", release="1.0a", timestamp=iso_format(timestamp))

        self.group_id = event.group.id

        self.login_as(user=self.user)


@region_silo_test
class ProjectGroupEventsDocs(ProjectGroupEventBase):
    def setUp(self):
        super().setUp()
        self.url = f"/api/0/issues/{self.group_id}/events/"

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)

        self.validate_schema(request, response)


@region_silo_test
class ProjectGroupEventsLatestDocs(ProjectGroupEventBase):
    def setUp(self):
        super().setUp()
        self.url = f"/api/0/issues/{self.group_id}/events/latest/"

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)

        self.validate_schema(request, response)


@region_silo_test
class ProjectGroupEventsOldestDocs(ProjectGroupEventBase):
    def setUp(self):
        super().setUp()
        self.url = f"/api/0/issues/{self.group_id}/events/oldest/"

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)

        self.validate_schema(request, response)

59d7c68ca993ff662a03b9e6fff3d30b1c006c79
<mask token>


@region_silo_test
class ProjectGroupEventsLatestDocs(ProjectGroupEventBase):

    def setUp(self):
        super().setUp()
        self.url = f'/api/0/issues/{self.group_id}/events/latest/'

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)
        self.validate_schema(request, response)


@region_silo_test
class ProjectGroupEventsOldestDocs(ProjectGroupEventBase):

    def setUp(self):
        super().setUp()
        self.url = f'/api/0/issues/{self.group_id}/events/oldest/'

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)
        self.validate_schema(request, response)

<mask token>


@region_silo_test
class ProjectGroupEventsDocs(ProjectGroupEventBase):
    <mask token>
    <mask token>


@region_silo_test
class ProjectGroupEventsLatestDocs(ProjectGroupEventBase):

    def setUp(self):
        super().setUp()
        self.url = f'/api/0/issues/{self.group_id}/events/latest/'

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)
        self.validate_schema(request, response)


@region_silo_test
class ProjectGroupEventsOldestDocs(ProjectGroupEventBase):

    def setUp(self):
        super().setUp()
        self.url = f'/api/0/issues/{self.group_id}/events/oldest/'

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)
        self.validate_schema(request, response)

<mask token>


class ProjectGroupEventBase(APIDocsTestCase):

    def setUp(self):
        first_release = {'firstEvent': before_now(minutes=3), 'lastEvent':
            before_now(minutes=2, seconds=30)}
        last_release = {'firstEvent': before_now(minutes=1, seconds=30),
            'lastEvent': before_now(minutes=1)}
        for timestamp in first_release.values():
            self.create_event('a', release='1.0', timestamp=iso_format(
                timestamp))
        self.create_event('b', release='1.1')
        for timestamp in last_release.values():
            event = self.create_event('c', release='1.0a', timestamp=
                iso_format(timestamp))
        self.group_id = event.group.id
        self.login_as(user=self.user)


@region_silo_test
class ProjectGroupEventsDocs(ProjectGroupEventBase):

    def setUp(self):
        super().setUp()
        self.url = f'/api/0/issues/{self.group_id}/events/'

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)
        self.validate_schema(request, response)


@region_silo_test
class ProjectGroupEventsLatestDocs(ProjectGroupEventBase):

    def setUp(self):
        super().setUp()
        self.url = f'/api/0/issues/{self.group_id}/events/latest/'

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)
        self.validate_schema(request, response)


@region_silo_test
class ProjectGroupEventsOldestDocs(ProjectGroupEventBase):

    def setUp(self):
        super().setUp()
        self.url = f'/api/0/issues/{self.group_id}/events/oldest/'

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)
        self.validate_schema(request, response)

from django.test.client import RequestFactory
from fixtures.apidocs_test_case import APIDocsTestCase
from sentry.testutils.helpers.datetime import before_now, iso_format
from sentry.testutils.silo import region_silo_test


class ProjectGroupEventBase(APIDocsTestCase):

    def setUp(self):
        first_release = {'firstEvent': before_now(minutes=3), 'lastEvent':
            before_now(minutes=2, seconds=30)}
        last_release = {'firstEvent': before_now(minutes=1, seconds=30),
            'lastEvent': before_now(minutes=1)}
        for timestamp in first_release.values():
            self.create_event('a', release='1.0', timestamp=iso_format(
                timestamp))
        self.create_event('b', release='1.1')
        for timestamp in last_release.values():
            event = self.create_event('c', release='1.0a', timestamp=
                iso_format(timestamp))
        self.group_id = event.group.id
        self.login_as(user=self.user)


@region_silo_test
class ProjectGroupEventsDocs(ProjectGroupEventBase):

    def setUp(self):
        super().setUp()
        self.url = f'/api/0/issues/{self.group_id}/events/'

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)
        self.validate_schema(request, response)


@region_silo_test
class ProjectGroupEventsLatestDocs(ProjectGroupEventBase):

    def setUp(self):
        super().setUp()
        self.url = f'/api/0/issues/{self.group_id}/events/latest/'

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)
        self.validate_schema(request, response)


@region_silo_test
class ProjectGroupEventsOldestDocs(ProjectGroupEventBase):

    def setUp(self):
        super().setUp()
        self.url = f'/api/0/issues/{self.group_id}/events/oldest/'

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)
        self.validate_schema(request, response)

from django.test.client import RequestFactory

from fixtures.apidocs_test_case import APIDocsTestCase
from sentry.testutils.helpers.datetime import before_now, iso_format
from sentry.testutils.silo import region_silo_test


class ProjectGroupEventBase(APIDocsTestCase):
    def setUp(self):
        first_release = {
            "firstEvent": before_now(minutes=3),
            "lastEvent": before_now(minutes=2, seconds=30),
        }
        last_release = {
            "firstEvent": before_now(minutes=1, seconds=30),
            "lastEvent": before_now(minutes=1),
        }

        for timestamp in first_release.values():
            self.create_event("a", release="1.0", timestamp=iso_format(timestamp))
        self.create_event("b", release="1.1")

        for timestamp in last_release.values():
            event = self.create_event("c", release="1.0a", timestamp=iso_format(timestamp))

        self.group_id = event.group.id

        self.login_as(user=self.user)


@region_silo_test
class ProjectGroupEventsDocs(ProjectGroupEventBase):
    def setUp(self):
        super().setUp()
        self.url = f"/api/0/issues/{self.group_id}/events/"

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)

        self.validate_schema(request, response)


@region_silo_test
class ProjectGroupEventsLatestDocs(ProjectGroupEventBase):
    def setUp(self):
        super().setUp()
        self.url = f"/api/0/issues/{self.group_id}/events/latest/"

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)

        self.validate_schema(request, response)


@region_silo_test
class ProjectGroupEventsOldestDocs(ProjectGroupEventBase):
    def setUp(self):
        super().setUp()
        self.url = f"/api/0/issues/{self.group_id}/events/oldest/"

    def test_get(self):
        response = self.client.get(self.url)
        request = RequestFactory().get(self.url)

        self.validate_schema(request, response)
