1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- from django.shortcuts import reverse
- from model_bakery import baker
- from glitchtip.test_utils.test_case import APIPermissionTestCase
- class EnvironmentAPIPermissionTests(APIPermissionTestCase):
- def setUp(self):
- self.create_user_org()
- self.set_client_credentials(self.auth_token.token)
- self.environment = baker.make(
- "environments.Environment", organization=self.organization
- )
- baker.make(
- "environments.EnvironmentProject",
- environment=self.environment,
- is_hidden=False,
- )
- self.list_url = reverse(
- "organization-environments-list",
- kwargs={"organization_slug": self.organization.slug},
- )
- self.detail_url = reverse(
- "organization-environments-detail",
- kwargs={
- "organization_slug": self.organization.slug,
- "pk": self.environment.pk,
- },
- )
- def test_list(self):
- self.assertGetReqStatusCode(self.list_url, 403)
- self.auth_token.add_permission("org:read")
- self.assertGetReqStatusCode(self.list_url, 200)
- def test_retrieve(self):
- self.assertGetReqStatusCode(self.detail_url, 403)
- self.auth_token.add_permission("org:read")
- self.assertGetReqStatusCode(self.detail_url, 200)
- class EnvironmentProjectAPIPermissionTests(APIPermissionTestCase):
- def setUp(self):
- self.create_user_org()
- self.set_client_credentials(self.auth_token.token)
- self.project = baker.make("projects.Project", organization=self.organization)
- self.environment_project = baker.make(
- "environments.EnvironmentProject",
- environment__organization=self.organization,
- project=self.project,
- )
- self.list_url = reverse(
- "project-environments-list",
- kwargs={"project_pk": f"{self.organization.slug}/{self.project.slug}"},
- )
- self.detail_url = reverse(
- "project-environments-detail",
- kwargs={
- "project_pk": f"{self.organization.slug}/{self.project.slug}",
- "environment__name": self.environment_project.environment.name,
- },
- )
- def test_list(self):
- self.assertGetReqStatusCode(self.list_url, 403)
- self.auth_token.add_permission("project:read")
- self.assertGetReqStatusCode(self.list_url, 200)
- def test_retrieve(self):
- self.assertGetReqStatusCode(self.detail_url, 403)
- self.auth_token.add_permission("project:read")
- self.assertGetReqStatusCode(self.detail_url, 200)
- def test_update(self):
- self.auth_token.add_permission("project:read")
- data = {"name": "a", "isHidden": True}
- self.assertPutReqStatusCode(self.detail_url, data, 403)
- self.auth_token.add_permission("project:write")
- self.assertPutReqStatusCode(self.detail_url, data, 200)
|