1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-17 00:32:37 +00:00
seahub/tests/api/endpoints/admin/address_book/test_groups.py
2018-04-27 15:33:49 +08:00

76 lines
2.2 KiB
Python

import json
from django.core.urlresolvers import reverse
from seaserv import ccnet_api
from seahub.test_utils import BaseTestCase
from tests.common.utils import randstring
try:
from seahub.settings import LOCAL_PRO_DEV_ENV
except ImportError:
LOCAL_PRO_DEV_ENV = False
class GroupsTest(BaseTestCase):
def setUp(self):
self.user_name = self.user.username
self.admin_name = self.admin.username
self.login_as(self.admin)
self.url = reverse('api-v2.1-admin-address-book-groups')
def test_can_list_top_groups(self):
if not LOCAL_PRO_DEV_ENV:
return
top_group_id = ccnet_api.create_group('top group xxx', self.user.username,
parent_group_id=-1)
resp = self.client.get(self.url)
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert len(json_resp['data']) >= 1
self.remove_group(top_group_id)
def test_can_create_top_group(self):
if not LOCAL_PRO_DEV_ENV:
return
resp = self.client.post(self.url, {
'group_name': randstring(10),
'parent_group': -1,
'group_owner': self.user.username
})
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert len(json_resp['name']) == 10
assert json_resp['parent_group_id'] == -1
self.remove_group(json_resp['id'])
def test_can_create_child_group(self):
if not LOCAL_PRO_DEV_ENV:
return
top_group_id = ccnet_api.create_group('top group xxx', self.user.username,
parent_group_id=-1)
resp = self.client.post(self.url, {
'group_name': randstring(10),
'parent_group': top_group_id,
'group_owner': self.user.username
})
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert len(json_resp['name']) == 10
assert json_resp['parent_group_id'] == top_group_id
self.remove_group(json_resp['id'])
self.remove_group(top_group_id)