1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-04 00:20:07 +00:00

update revert file/dir

This commit is contained in:
lian
2016-09-13 11:16:12 +08:00
parent 93a85e014c
commit 58737d62f7
8 changed files with 268 additions and 104 deletions

View File

@@ -235,6 +235,76 @@ class DirViewTest(BaseTestCase):
resp = self.client.post(self.url + '?p=' + self.folder_path, data)
self.assertEqual(403, resp.status_code)
def test_can_revert_folder(self):
self.login_as(self.user)
# first rename dir
new_name = randstring(6)
seafile_api.rename_file(self.repo_id, '/', self.folder_name,
new_name, self.user_name)
new_dir_path = '/' + new_name
# get commit list
commits = seafile_api.get_commit_list(self.repo_id, -1, -1)
# then revert dir
data = {
'operation': 'revert',
'commit_id': commits[0].id
}
resp = self.client.post(self.url + '?p=' + new_dir_path, data)
self.assertEqual(200, resp.status_code)
def test_revert_folder_with_invalid_user_permission(self):
# first rename dir
new_name = randstring(6)
seafile_api.rename_file(self.repo_id, '/', self.folder_name,
new_name, self.user_name)
new_dir_path = '/' + new_name
# get commit list
commits = seafile_api.get_commit_list(self.repo_id, -1, -1)
# then revert dir
data = {
'operation': 'revert',
'commit_id': commits[0].id
}
resp = self.client.post(self.url + '?p=' + new_dir_path, data)
self.assertEqual(403, resp.status_code)
def test_revert_folder_with_r_permission(self):
# first rename dir
new_name = randstring(6)
seafile_api.rename_file(self.repo_id, '/', self.folder_name,
new_name, self.user_name)
new_dir_path = '/' + new_name
# get commit list
commits = seafile_api.get_commit_list(self.repo_id, -1, -1)
self.share_repo_to_admin_with_r_permission()
self.login_as(self.admin)
# then revert dir
data = {
'operation': 'revert',
'commit_id': commits[0].id
}
resp = self.client.post(self.url + '?p=' + new_dir_path, data)
self.assertEqual(403, resp.status_code)
def test_revert_folder_without_commit_id(self):
self.login_as(self.user)
# then revert dir
data = {
'operation': 'revert',
}
resp = self.client.post(self.url + '?p=' + self.folder_path, data)
self.assertEqual(400, resp.status_code)
# for test http DELETE request
def test_can_delete_folder(self):
self.login_as(self.user)