kopia lustrzana https://github.com/OpenDroneMap/WebODM
68 wiersze
2.1 KiB
Python
68 wiersze
2.1 KiB
Python
![]() |
from django.contrib.auth.models import User, Group
|
||
|
from rest_framework import status
|
||
|
from rest_framework.test import APIClient
|
||
|
|
||
|
from .classes import BootTestCase
|
||
|
from webodm import settings
|
||
|
|
||
|
class TestAuth(BootTestCase):
|
||
|
def setUp(self):
|
||
|
pass
|
||
|
|
||
|
def tearDown(self):
|
||
|
pass
|
||
|
|
||
|
def test_ext_auth(self):
|
||
|
client = APIClient()
|
||
|
|
||
|
# Disable
|
||
|
settings.EXTERNAL_AUTH_ENDPOINT = ''
|
||
|
|
||
|
# Try to log-in
|
||
|
user = client.login(username='extuser1', password='test1234')
|
||
|
self.assertFalse(user)
|
||
|
|
||
|
# Enable
|
||
|
settings.EXTERNAL_AUTH_ENDPOINT = 'http://0.0.0.0:5555'
|
||
|
|
||
|
# TODO: start simplehttp auth server
|
||
|
|
||
|
user = client.login(username='extuser1', password='test1234')
|
||
|
# self.assertEqual(user.username, 'extuser1')
|
||
|
# self.assertEqual(user.id, 100)
|
||
|
|
||
|
|
||
|
# client.login(username="testuser", password="test1234")
|
||
|
|
||
|
# user = User.objects.get(username="testuser")
|
||
|
|
||
|
# # Cannot list profiles (not admin)
|
||
|
# res = client.get('/api/admin/profiles/')
|
||
|
# self.assertEqual(res.status_code, status.HTTP_403_FORBIDDEN)
|
||
|
|
||
|
# res = client.get('/api/admin/profiles/%s/' % user.id)
|
||
|
# self.assertEqual(res.status_code, status.HTTP_403_FORBIDDEN)
|
||
|
|
||
|
# # Cannot update quota deadlines
|
||
|
# res = client.post('/api/admin/profiles/%s/update_quota_deadline/' % user.id, data={'hours': 1})
|
||
|
# self.assertEqual(res.status_code, status.HTTP_403_FORBIDDEN)
|
||
|
|
||
|
# # Admin can
|
||
|
# client.login(username="testsuperuser", password="test1234")
|
||
|
|
||
|
# res = client.get('/api/admin/profiles/')
|
||
|
# self.assertEqual(res.status_code, status.HTTP_200_OK)
|
||
|
# self.assertTrue(len(res.data) > 0)
|
||
|
|
||
|
# res = client.get('/api/admin/profiles/%s/' % user.id)
|
||
|
# self.assertEqual(res.status_code, status.HTTP_200_OK)
|
||
|
# self.assertTrue('quota' in res.data)
|
||
|
# self.assertTrue('user' in res.data)
|
||
|
|
||
|
# # User is the primary key (not profile id)
|
||
|
# self.assertEqual(res.data['user'], user.id)
|
||
|
|
||
|
# # There should be no quota by default
|
||
|
# self.assertEqual(res.data['quota'], -1)
|
||
|
|
||
|
|