1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-05 08:53:14 +00:00

[api2.1] add rename, transfer and delete group api

This commit is contained in:
lian
2015-12-07 11:33:49 +08:00
parent 7d2bd6d859
commit d1bcd3e113
3 changed files with 162 additions and 7 deletions

View File

@@ -7,6 +7,7 @@ from seaserv import seafile_api
from seahub.test_utils import BaseTestCase
from seahub.api2.endpoints.groups import Groups
from tests.common.utils import randstring
class GroupsTest(BaseTestCase):
@@ -61,7 +62,7 @@ class GroupsTest(BaseTestCase):
assert self.group_id in group_ids
def test_create_group(self):
new_group_name = 'new-group-1'
new_group_name = 'new-group-' + randstring(6)
resp = self.client.post(self.url, {'group_name': new_group_name})
self.assertEqual(201, resp.status_code)
@@ -74,7 +75,7 @@ class GroupsTest(BaseTestCase):
self.remove_group(json_resp['id'])
def test_create_group_with_cn_name(self):
new_group_name = u'中文'
new_group_name = u'中文' + randstring(6)
resp = self.client.post(self.url, {'group_name': new_group_name})
self.assertEqual(201, resp.status_code)
@@ -90,15 +91,45 @@ class GroupsTest(BaseTestCase):
self.assertEqual(400, resp.status_code)
def test_can_not_create_group_with_invalid_name(self):
group_name = 'new%group-2'
new_group_name = 'new%group-' + randstring(6)
resp = self.client.post(self.url, {'group_name': group_name})
resp = self.client.post(self.url, {'group_name': new_group_name})
self.assertEqual(400, resp.status_code)
@patch.object(Groups, '_can_add_group')
def test_can_not_create_group_with_invalid_permission(self, mock_can_add_group):
mock_can_add_group.return_value = False
group_name = 'new-group-3'
new_group_name = 'new-group-' + randstring(6)
resp = self.client.post(self.url, {'group_name': group_name})
resp = self.client.post(self.url, {'group_name': new_group_name})
self.assertEqual(403, resp.status_code)
def test_can_rename_group(self):
new_group_name = 'new-group-' + randstring(6)
url = reverse('api-v2.1-group', args=[self.group_id])
data = 'operation=rename&new_group_name=%s' % new_group_name
resp = self.client.put(url, data, 'application/x-www-form-urlencoded')
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert json_resp['name'] == new_group_name
def test_can_transfer_group(self):
new_creator = self.admin.email
url = reverse('api-v2.1-group', args=[self.group_id])
data = 'operation=transfer&email=%s' % new_creator
resp = self.client.put(url, data, 'application/x-www-form-urlencoded')
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert json_resp['creator'] == new_creator
def test_can_delete_group(self):
url = reverse('api-v2.1-group', args=[self.group_id])
resp = self.client.delete(url)
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert json_resp['success'] is True