from django.test import SimpleTestCase from rest_framework.permissions import IsAdminUser from rest_framework.test import APIRequestFactory from apps.develop.views import ServerTime, TestViewSet class DevelopApiPermissionTests(SimpleTestCase): def setUp(self): self.factory = APIRequestFactory() def test_test_endpoint_rejects_anonymous_requests(self): request = self.factory.post( '/api/develop/test/send_sms/', {}, format='json', ) response = TestViewSet.as_view({'post': 'send_sms'})(request) self.assertIn(response.status_code, (401, 403)) def test_server_time_requires_admin(self): request = self.factory.get('/api/develop/server_time/') response = ServerTime.as_view()(request) self.assertIn(response.status_code, (401, 403)) def test_develop_views_use_admin_permission(self): self.assertEqual(TestViewSet.permission_classes, [IsAdminUser]) self.assertEqual(ServerTime.permission_classes, [IsAdminUser])