from django.test import TestCase from django.urls import reverse from model_bakery import baker class AuthenticationTestCase(TestCase): @classmethod def setUpTestData(cls): cls.project = baker.make("projects.Project") cls.project_key = cls.project.projectkey_set.first() cls.organization = cls.project.organization def setUp(self): self.url = ( reverse("api:event_envelope", args=[self.project.id]) + f"?sentry_key={self.project_key.public_key}" ) def test_org_throttle(self): res = self.client.post(self.url, [{}], content_type="application/json") self.assertEqual(res.status_code, 200) self.organization.event_throttle_rate = 100 self.organization.save() res = self.client.post(self.url, [{}], content_type="application/json") self.assertEqual(res.headers.get("Retry-After"), "600") self.assertEqual(res.status_code, 429)