mirror of
https://github.com/haiwen/seahub.git
synced 2025-05-30 10:35:20 +00:00
update .github/workflows/test.yml (#4750)
Co-authored-by: lian <lian@seafile.com>
This commit is contained in:
parent
42c7f25dfa
commit
030fa283cb
@ -10,7 +10,6 @@ from rest_framework.response import Response
|
|||||||
from rest_framework.views import APIView
|
from rest_framework.views import APIView
|
||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
|
|
||||||
import seaserv
|
|
||||||
from seaserv import seafile_api, ccnet_api
|
from seaserv import seafile_api, ccnet_api
|
||||||
from pysearpc import SearpcError
|
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.settings import GROUP_AVATAR_DEFAULT_SIZE
|
||||||
from seahub.avatar.templatetags.group_avatar_tags import api_grp_avatar_url, \
|
from seahub.avatar.templatetags.group_avatar_tags import api_grp_avatar_url, \
|
||||||
get_default_group_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.repo import get_repo_owner
|
||||||
from seahub.utils.timeutils import timestamp_to_isoformat_timestr
|
from seahub.utils.timeutils import timestamp_to_isoformat_timestr
|
||||||
from seahub.group.utils import validate_group_name, check_group_name_conflict, \
|
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__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def get_group_admins(group_id):
|
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]
|
admin_members = [m for m in members if m.is_staff]
|
||||||
|
|
||||||
admins = []
|
admins = []
|
||||||
@ -47,8 +47,9 @@ def get_group_admins(group_id):
|
|||||||
|
|
||||||
return admins
|
return admins
|
||||||
|
|
||||||
|
|
||||||
def get_group_info(request, group_id, avatar_size=GROUP_AVATAR_DEFAULT_SIZE):
|
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:
|
try:
|
||||||
avatar_url, is_default, date_uploaded = api_grp_avatar_url(group.id, avatar_size)
|
avatar_url, is_default, date_uploaded = api_grp_avatar_url(group.id, avatar_size)
|
||||||
except Exception as e:
|
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:
|
if group.parent_group_id != 0:
|
||||||
group_info['group_quota'] = seafile_api.get_group_quota(group_id)
|
group_info['group_quota'] = seafile_api.get_group_quota(group_id)
|
||||||
|
|
||||||
if is_org_context(request):
|
group_info['group_quota_usage'] = ''
|
||||||
org_id = request.user.org.org_id
|
if is_pro_version():
|
||||||
group_info['group_quota_usage'] = seafile_api.org_get_group_quota_usage(org_id, group_id)
|
if is_org_context(request):
|
||||||
else:
|
org_id = request.user.org.org_id
|
||||||
group_info['group_quota_usage'] = seafile_api.get_group_quota_usage(group_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
|
return group_info
|
||||||
|
|
||||||
@ -97,7 +100,7 @@ class Groups(APIView):
|
|||||||
username = request.user.username
|
username = request.user.username
|
||||||
if is_org_context(request):
|
if is_org_context(request):
|
||||||
org_id = request.user.org.org_id
|
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:
|
else:
|
||||||
user_groups = ccnet_api.get_groups(username, return_ancestors=True)
|
user_groups = ccnet_api.get_groups(username, return_ancestors=True)
|
||||||
|
|
||||||
@ -157,7 +160,7 @@ class Groups(APIView):
|
|||||||
if email not in name_dict:
|
if email not in name_dict:
|
||||||
if '@seafile_group' in email:
|
if '@seafile_group' in email:
|
||||||
group_id = get_group_id_by_repo_owner(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
|
name_dict[email] = group_name
|
||||||
else:
|
else:
|
||||||
name_dict[email] = email2nickname(email)
|
name_dict[email] = email2nickname(email)
|
||||||
@ -222,12 +225,9 @@ class Groups(APIView):
|
|||||||
try:
|
try:
|
||||||
if is_org_context(request):
|
if is_org_context(request):
|
||||||
org_id = request.user.org.org_id
|
org_id = request.user.org.org_id
|
||||||
group_id = seaserv.ccnet_threaded_rpc.create_org_group(org_id,
|
group_id = ccnet_api.create_org_group(org_id, group_name, username)
|
||||||
group_name,
|
|
||||||
username)
|
|
||||||
else:
|
else:
|
||||||
group_id = seaserv.ccnet_threaded_rpc.create_group(group_name,
|
group_id = ccnet_api.create_group(group_name, username)
|
||||||
username)
|
|
||||||
except SearpcError as e:
|
except SearpcError as e:
|
||||||
logger.error(e)
|
logger.error(e)
|
||||||
error_msg = 'Internal Server Error'
|
error_msg = 'Internal Server Error'
|
||||||
|
@ -10,6 +10,7 @@ from seahub.test_utils import BaseTestCase
|
|||||||
from seahub.api2.endpoints.groups import Groups
|
from seahub.api2.endpoints.groups import Groups
|
||||||
from tests.common.utils import randstring
|
from tests.common.utils import randstring
|
||||||
|
|
||||||
|
|
||||||
class GroupsTest(BaseTestCase):
|
class GroupsTest(BaseTestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
@ -22,7 +23,7 @@ class GroupsTest(BaseTestCase):
|
|||||||
|
|
||||||
# share repo to group
|
# share repo to group
|
||||||
seafile_api.set_group_repo(self.repo_id,
|
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):
|
def tearDown(self):
|
||||||
self.remove_group()
|
self.remove_group()
|
||||||
@ -33,7 +34,7 @@ class GroupsTest(BaseTestCase):
|
|||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
|
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
assert len(json_resp[0]) == 7
|
assert len(json_resp[0]) == 8
|
||||||
|
|
||||||
group_ids = []
|
group_ids = []
|
||||||
for group in json_resp:
|
for group in json_resp:
|
||||||
@ -46,7 +47,7 @@ class GroupsTest(BaseTestCase):
|
|||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
|
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
assert len(json_resp[0]) == 8
|
assert len(json_resp[0]) == 9
|
||||||
|
|
||||||
group_ids = []
|
group_ids = []
|
||||||
group_repos = []
|
group_repos = []
|
||||||
@ -69,7 +70,7 @@ class GroupsTest(BaseTestCase):
|
|||||||
self.assertEqual(201, resp.status_code)
|
self.assertEqual(201, resp.status_code)
|
||||||
|
|
||||||
json_resp = json.loads(resp.content)
|
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['name'] == new_group_name
|
||||||
assert json_resp['owner'] == self.user.email
|
assert json_resp['owner'] == self.user.email
|
||||||
|
|
||||||
@ -81,7 +82,7 @@ class GroupsTest(BaseTestCase):
|
|||||||
self.assertEqual(201, resp.status_code)
|
self.assertEqual(201, resp.status_code)
|
||||||
|
|
||||||
json_resp = json.loads(resp.content)
|
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['name'] == new_group_name
|
||||||
assert json_resp['owner'] == self.user.email
|
assert json_resp['owner'] == self.user.email
|
||||||
|
|
||||||
|
@ -40,9 +40,9 @@ function init() {
|
|||||||
$PYTHON ./manage.py migrate --noinput
|
$PYTHON ./manage.py migrate --noinput
|
||||||
|
|
||||||
# create normal user
|
# 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
|
# 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);"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user