1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-05-07 15:38:21 +00:00

update .github/workflows/test.yml ()

Co-authored-by: lian <lian@seafile.com>
This commit is contained in:
lian 2020-12-15 13:18:57 +08:00 committed by GitHub
parent 42c7f25dfa
commit 030fa283cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 23 deletions
seahub/api2/endpoints
tests

View File

@ -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'

View File

@ -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

View File

@ -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);"
}