1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-04-27 19:05:16 +00:00
seahub/tests/api/test_groups.py
2014-09-06 11:38:20 +08:00

49 lines
1.8 KiB
Python

#coding: UTF-8
"""
Test groups api.
"""
import unittest
from tests.api.apitestbase import ApiTestBase
from tests.api.urls import GROUPS_URL
from tests.common.utils import apiurl, urljoin, randstring
class GroupsApiTest(ApiTestBase):
def test_add_remove_group_member(self):
with self.get_tmp_user() as user:
with self.get_tmp_group() as group:
test_group_members_url = urljoin(group.group_url, '/members/')
data = {'user_name': user.user_name}
res = self.put(test_group_members_url, data=data).json()
self.assertTrue(res['success'])
res = self.delete(test_group_members_url, data=data).json()
self.assertTrue(res['success'])
def test_list_groups(self):
with self.get_tmp_group() as group:
groups = self.get(GROUPS_URL).json()
self.assertGreaterEqual(groups['replynum'], 0)
self.assertNotEmpty(groups['groups'])
for group in groups['groups']:
self.assertIsNotNone(group['ctime'])
self.assertIsNotNone(group['creator'])
self.assertIsNotNone(group['msgnum'])
self.assertIsNotNone(group['mtime'])
self.assertIsNotNone(group['id'])
self.assertIsNotNone(group['name'])
def test_add_remove_group(self):
data = {'group_name': randstring(16)}
info = self.put(GROUPS_URL, data=data).json()
self.assertTrue(info['success'])
group_id = info['group_id']
self.assertGreater(group_id, 0)
url = urljoin(GROUPS_URL, str(group_id))
self.delete(url)
# check group is really removed
groups = self.get(GROUPS_URL).json()['groups']
for group in groups:
self.assertNotEqual(group['id'], group_id)