factory/apps/develop/tests.py

33 lines
1.0 KiB
Python
Executable File

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])