2017-02-17 03:46:37 +00:00
|
|
|
import json
|
|
|
|
|
|
|
|
from django.core.urlresolvers import reverse
|
|
|
|
from seahub.options.models import UserOptions
|
|
|
|
from seahub.test_utils import BaseTestCase
|
|
|
|
|
|
|
|
class DefaultLibraryTest(BaseTestCase):
|
|
|
|
|
|
|
|
def setUp(self):
|
|
|
|
self.user_name = self.user.username
|
|
|
|
self.admin_name = self.admin.username
|
|
|
|
self.group_id = self.group.id
|
|
|
|
self.repo_id = self.repo.id
|
|
|
|
|
|
|
|
self.endpoint = reverse('api-v2.1-admin-default-library')
|
|
|
|
|
|
|
|
def tearDown(self):
|
|
|
|
self.remove_group()
|
|
|
|
|
|
|
|
def test_can_get(self):
|
|
|
|
self.login_as(self.admin)
|
|
|
|
|
|
|
|
assert UserOptions.objects.get_default_repo(self.user_name) is None
|
|
|
|
|
|
|
|
resp = self.client.get(self.endpoint + '?user_email=%s' % self.user_name)
|
|
|
|
json_resp = json.loads(resp.content)
|
|
|
|
|
|
|
|
assert json_resp['user_email'] == self.user_name
|
2017-03-27 05:58:12 +00:00
|
|
|
assert json_resp['exists'] is False
|
2017-02-17 03:46:37 +00:00
|
|
|
|
|
|
|
def test_can_create(self):
|
|
|
|
self.login_as(self.admin)
|
|
|
|
|
|
|
|
assert UserOptions.objects.get_default_repo(self.user_name) is None
|
|
|
|
|
|
|
|
data = {'user_email': self.user_name}
|
|
|
|
resp = self.client.post(self.endpoint, data)
|
|
|
|
json_resp = json.loads(resp.content)
|
|
|
|
|
|
|
|
new_default_repo_id = UserOptions.objects.get_default_repo(self.user_name)
|
|
|
|
|
|
|
|
assert json_resp['user_email'] == self.user_name
|
2017-03-27 05:58:12 +00:00
|
|
|
assert json_resp['exists'] is True
|
2017-02-17 03:46:37 +00:00
|
|
|
assert json_resp['repo_id'] == new_default_repo_id
|
|
|
|
|
|
|
|
def test_can_not_get_if_not_admin(self):
|
|
|
|
self.login_as(self.user)
|
|
|
|
|
|
|
|
resp = self.client.get(self.endpoint + '?user_email=%s' % self.user_name)
|
|
|
|
self.assertEqual(403, resp.status_code)
|
|
|
|
|
|
|
|
def test_can_not_create_if_not_admin(self):
|
|
|
|
self.login_as(self.user)
|
|
|
|
|
|
|
|
data = {'user_email': self.user_name}
|
|
|
|
resp = self.client.post(self.endpoint, data)
|
|
|
|
self.assertEqual(403, resp.status_code)
|