From 030fa283cbd232f23c16704a55de57f99aaf439c Mon Sep 17 00:00:00 2001 From: lian Date: Tue, 15 Dec 2020 13:18:57 +0800 Subject: [PATCH] update .github/workflows/test.yml (#4750) Co-authored-by: lian --- seahub/api2/endpoints/groups.py | 32 +++++++++++++++--------------- tests/api/endpoints/test_groups.py | 11 +++++----- tests/seahubtests.sh | 4 ++-- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/seahub/api2/endpoints/groups.py b/seahub/api2/endpoints/groups.py index 664e0e854d..f614a764f1 100644 --- a/seahub/api2/endpoints/groups.py +++ b/seahub/api2/endpoints/groups.py @@ -10,7 +10,6 @@ from rest_framework.response import Response from rest_framework.views import APIView from rest_framework import status -import seaserv from seaserv import seafile_api, ccnet_api from pysearpc import SearpcError @@ -21,7 +20,7 @@ from seahub.api2.endpoints.group_owned_libraries import get_group_id_by_repo_own from seahub.avatar.settings import GROUP_AVATAR_DEFAULT_SIZE from seahub.avatar.templatetags.group_avatar_tags import api_grp_avatar_url, \ get_default_group_avatar_url -from seahub.utils import is_org_context, is_valid_username +from seahub.utils import is_org_context, is_valid_username, is_pro_version from seahub.utils.repo import get_repo_owner from seahub.utils.timeutils import timestamp_to_isoformat_timestr from seahub.group.utils import validate_group_name, check_group_name_conflict, \ @@ -37,8 +36,9 @@ from .utils import api_check_group logger = logging.getLogger(__name__) + def get_group_admins(group_id): - members = seaserv.get_group_members(group_id) + members = ccnet_api.get_group_members(group_id) admin_members = [m for m in members if m.is_staff] admins = [] @@ -47,8 +47,9 @@ def get_group_admins(group_id): return admins + def get_group_info(request, group_id, avatar_size=GROUP_AVATAR_DEFAULT_SIZE): - group = seaserv.get_group(group_id) + group = ccnet_api.get_group(group_id) try: avatar_url, is_default, date_uploaded = api_grp_avatar_url(group.id, avatar_size) except Exception as e: @@ -71,11 +72,13 @@ def get_group_info(request, group_id, avatar_size=GROUP_AVATAR_DEFAULT_SIZE): if group.parent_group_id != 0: group_info['group_quota'] = seafile_api.get_group_quota(group_id) - if is_org_context(request): - org_id = request.user.org.org_id - group_info['group_quota_usage'] = seafile_api.org_get_group_quota_usage(org_id, group_id) - else: - group_info['group_quota_usage'] = seafile_api.get_group_quota_usage(group_id) + group_info['group_quota_usage'] = '' + if is_pro_version(): + if is_org_context(request): + org_id = request.user.org.org_id + group_info['group_quota_usage'] = seafile_api.org_get_group_quota_usage(org_id, group_id) + else: + group_info['group_quota_usage'] = seafile_api.get_group_quota_usage(group_id) return group_info @@ -97,7 +100,7 @@ class Groups(APIView): username = request.user.username if is_org_context(request): org_id = request.user.org.org_id - user_groups = seaserv.get_org_groups_by_user(org_id, username, return_ancestors=True) + user_groups = ccnet_api.get_org_groups_by_user(org_id, username, return_ancestors=True) else: user_groups = ccnet_api.get_groups(username, return_ancestors=True) @@ -157,7 +160,7 @@ class Groups(APIView): if email not in name_dict: if '@seafile_group' in email: group_id = get_group_id_by_repo_owner(email) - group_name= group_id_to_name(group_id) + group_name = group_id_to_name(group_id) name_dict[email] = group_name else: name_dict[email] = email2nickname(email) @@ -222,12 +225,9 @@ class Groups(APIView): try: if is_org_context(request): org_id = request.user.org.org_id - group_id = seaserv.ccnet_threaded_rpc.create_org_group(org_id, - group_name, - username) + group_id = ccnet_api.create_org_group(org_id, group_name, username) else: - group_id = seaserv.ccnet_threaded_rpc.create_group(group_name, - username) + group_id = ccnet_api.create_group(group_name, username) except SearpcError as e: logger.error(e) error_msg = 'Internal Server Error' diff --git a/tests/api/endpoints/test_groups.py b/tests/api/endpoints/test_groups.py index 7c9675054c..b663ee853d 100644 --- a/tests/api/endpoints/test_groups.py +++ b/tests/api/endpoints/test_groups.py @@ -10,6 +10,7 @@ from seahub.test_utils import BaseTestCase from seahub.api2.endpoints.groups import Groups from tests.common.utils import randstring + class GroupsTest(BaseTestCase): def setUp(self): @@ -22,7 +23,7 @@ class GroupsTest(BaseTestCase): # share repo to group seafile_api.set_group_repo(self.repo_id, - self.group_id, self.user.email, 'rw') + self.group_id, self.user.email, 'rw') def tearDown(self): self.remove_group() @@ -33,7 +34,7 @@ class GroupsTest(BaseTestCase): self.assertEqual(200, resp.status_code) json_resp = json.loads(resp.content) - assert len(json_resp[0]) == 7 + assert len(json_resp[0]) == 8 group_ids = [] for group in json_resp: @@ -46,7 +47,7 @@ class GroupsTest(BaseTestCase): self.assertEqual(200, resp.status_code) json_resp = json.loads(resp.content) - assert len(json_resp[0]) == 8 + assert len(json_resp[0]) == 9 group_ids = [] group_repos = [] @@ -69,7 +70,7 @@ class GroupsTest(BaseTestCase): self.assertEqual(201, resp.status_code) json_resp = json.loads(resp.content) - assert len(json_resp) == 7 + assert len(json_resp) == 8 assert json_resp['name'] == new_group_name assert json_resp['owner'] == self.user.email @@ -81,7 +82,7 @@ class GroupsTest(BaseTestCase): self.assertEqual(201, resp.status_code) json_resp = json.loads(resp.content) - assert len(json_resp) == 7 + assert len(json_resp) == 8 assert json_resp['name'] == new_group_name assert json_resp['owner'] == self.user.email diff --git a/tests/seahubtests.sh b/tests/seahubtests.sh index 3197d8eca1..cdd35fae19 100755 --- a/tests/seahubtests.sh +++ b/tests/seahubtests.sh @@ -40,9 +40,9 @@ function init() { $PYTHON ./manage.py migrate --noinput # create normal user - $PYTHON -c "import os; import ccnet; ccnet_pipe_path = os.path.join ('${CCNET_CONF_DIR}', 'ccnet-rpc.sock'); ccnet_threaded_rpc = ccnet.CcnetThreadedRpcClient(ccnet_pipe_path); ccnet_threaded_rpc.add_emailuser('${SEAHUB_TEST_USERNAME}', '${SEAHUB_TEST_PASSWORD}', 0, 1);" + $PYTHON -c "import os; from seaserv import ccnet_api; ccnet_api.add_emailuser('${SEAHUB_TEST_USERNAME}', '${SEAHUB_TEST_PASSWORD}', 0, 1);" # create admin - $PYTHON -c "import os; import ccnet; ccnet_pipe_path = os.path.join ('${CCNET_CONF_DIR}', 'ccnet-rpc.sock'); ccnet_threaded_rpc = ccnet.CcnetThreadedRpcClient(ccnet_pipe_path); ccnet_threaded_rpc.add_emailuser('${SEAHUB_TEST_ADMIN_USERNAME}', '${SEAHUB_TEST_ADMIN_PASSWORD}', 1, 1);" + $PYTHON -c "import os; from seaserv import ccnet_api; ccnet_api.add_emailuser('${SEAHUB_TEST_ADMIN_USERNAME}', '${SEAHUB_TEST_ADMIN_PASSWORD}', 1, 1);" }