1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-10-21 02:42:26 +00:00

add api for getting groups that user can share repo to

This commit is contained in:
lian
2018-01-17 18:22:48 +08:00
parent ea9c1801d2
commit ed8200b52a
7 changed files with 123 additions and 77 deletions

View File

@@ -1,36 +0,0 @@
# Copyright (c) 2011-2016 Seafile Ltd.
# -*- coding: utf-8 -*-
import json
from django.core.urlresolvers import reverse
from seahub.test_utils import BaseTestCase
from constance import config
class GroupsShareTest(BaseTestCase):
def test_can_get(self):
config.ENABLE_SHARE_TO_ALL_GROUPS = 1
self.login_as(self.admin)
self.admin_group = self.create_group(group_name='test_group',
username=self.admin.username)
self.logout()
self.login_as(self.user)
resp = [group["name"] for group in
json.loads(self.client.get(reverse('api-v2.1-all-groups')).content)]
self.assertIn('test_group', resp)
self.clear_cache()
def test_can_get_with_disable_config(self):
config.ENABLE_SHARE_TO_ALL_GROUPS = 0
self.login_as(self.admin)
self.admin_group = self.create_group(group_name='test_disable_config',
username=self.admin.username)
resp = json.loads(self.client.get(reverse('api-v2.1-all-groups')).content)
self.assertEqual([], resp)
self.clear_cache()
def tearDown(self):
self.remove_group(self.admin_group.id)

View File

@@ -0,0 +1,59 @@
# Copyright (c) 2011-2016 Seafile Ltd.
# -*- coding: utf-8 -*-
import json
from django.core.urlresolvers import reverse
from seahub.test_utils import BaseTestCase
from tests.common.utils import randstring
from constance import config
class ShareableGroupsTest(BaseTestCase):
def setUp(self):
self.login_as(self.user)
self.group_id = self.group.id
self.group_name = self.group.group_name
self.admin_user = self.admin.username
self.url = reverse('api-v2.1-shareable-groups')
def tearDown(self):
self.remove_group()
self.remove_repo()
def test_can_get(self):
config.ENABLE_SHARE_TO_ALL_GROUPS = 1
admin_group_name = randstring(10)
admin_group = self.create_group(group_name=admin_group_name,
username=self.admin_user)
resp = self.client.get(self.url)
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
group_names = [g["name"] for g in json_resp]
self.assertIn(admin_group_name, group_names)
self.assertIn(self.group.group_name, group_names)
self.remove_group(admin_group.group_id)
self.clear_cache()
def test_can_get_with_disable_config(self):
config.ENABLE_SHARE_TO_ALL_GROUPS = 0
admin_group_name = randstring(10)
admin_group = self.create_group(group_name=admin_group_name,
username=self.admin_user)
resp = self.client.get(self.url)
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
group_names = [g["name"] for g in json_resp]
self.assertIn(self.group.group_name, group_names)
self.assertNotIn(admin_group_name, group_names)
self.remove_group(admin_group.group_id)
self.clear_cache()