1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-06-30 17:02:15 +00:00
seahub/tests/api/endpoints/test_be_shared_repo.py
Daniel Pan cf1017513a Code clean (#1217)
* Use API to create file/folder instead of Ajax
* Remove sub_repo AJAX api
* Remove repo delete AJAX function
* Remove get_group_basic_info
* Add comment for get_unenc_group_repos
* Remove ajax_repo_change_basic_info and ajax_repo_transfer_owner
* Remove ajax_unset_inner_pub_repe and RepoPublic
* Remove ajax star/unstar a file
* update be shared repo api
* update test public repo
* Remove ajax_repo_remove_share
2016-06-20 18:34:30 +08:00

74 lines
2.4 KiB
Python

import json
import seaserv
from seaserv import seafile_api
from seahub.test_utils import BaseTestCase
class BeSharedRepoTest(BaseTestCase):
def setUp(self):
self.login_as(self.admin)
def tearDown(self):
self.remove_repo()
def _add_shared_items(self):
# create repo for user
sub_repo_id = seafile_api.create_virtual_repo(self.repo.id,
self.folder,
self.repo.name, '',
self.user.username)
self.sub_repo_id = sub_repo_id
# create group for admin
admin_group_id = seaserv.ccnet_threaded_rpc.create_group('admin-group',
self.admin.email)
self.admin_group_id = admin_group_id
# A user shares a folder to admin with permission 'rw'.
seafile_api.share_repo(sub_repo_id, self.user.username,
self.admin.username, 'rw')
# A user shares a folder to admin group with permission 'rw'.
seafile_api.set_group_repo(sub_repo_id, admin_group_id,
self.user.username, 'rw')
# A user shares a folder to public with permission 'rw'.
seafile_api.add_inner_pub_repo(sub_repo_id, 'rw')
def test_can_delete_personal_shared_repo(self):
self._add_shared_items()
resp = self.client.delete('/api2/beshared-repos/%s/?share_type=personal&from=%s' % (
self.sub_repo_id,
self.user.email,
))
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert json_resp['success'] is True
def test_can_delete_group_repo(self):
self._add_shared_items()
resp = self.client.delete('/api2/beshared-repos/%s/?share_type=group&from=%s&group_id=%d' % (
self.sub_repo_id,
self.user.email,
self.admin_group_id,
))
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert json_resp['success'] is True
def test_can_delete_public_repo(self):
self._add_shared_items()
resp = self.client.delete('/api2/beshared-repos/%s/?share_type=public' % (
self.sub_repo_id,
))
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert json_resp['success'] is True