|
@@ -0,0 +1,66 @@
|
|
|
+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
|
|
|
+ )
|
|
|
+ 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}",
|
|
|
+ "pk": self.environment_project.pk,
|
|
|
+ },
|
|
|
+ )
|
|
|
+
|
|
|
+ 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)
|