33 lines
1.0 KiB
Python
Executable File
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])
|