from django.urls import reverse from model_bakery import baker from glitchtip.test_utils.test_case import GlitchTipTestCase class StatusPageTestCase(GlitchTipTestCase): def setUp(self): self.create_user_and_project() def test_status_page(self): status_page = baker.make( "uptime.StatusPage", organization=self.organization, is_public=False ) url = status_page.get_absolute_url() res = self.client.get(url) self.assertContains(res, status_page.name) self.client.logout() res = self.client.get(url) self.assertEqual(res.status_code, 404) status_page.is_public = True status_page.save() res = self.client.get(url) self.assertContains(res, status_page.name) def test_status_page_api(self): status_page = baker.make("uptime.StatusPage", organization=self.organization) other_status_page = baker.make("uptime.StatusPage") url = reverse("organization-status-pages-list", args=(self.organization.slug,)) res = self.client.get(url) self.assertContains(res, status_page.name) self.assertNotContains(res, other_status_page.name) def test_status_page_api_create(self): url = reverse("organization-status-pages-list", args=(self.organization.slug,)) data = {"name": "foo"} res = self.client.post(url, data) self.assertContains(res, data["name"], status_code=201)