mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-04 00:20:07 +00:00
update download dir/multi
This commit is contained in:
109
tests/api/endpoints/test_zip_task.py
Normal file
109
tests/api/endpoints/test_zip_task.py
Normal file
@@ -0,0 +1,109 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
import json
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from seahub.test_utils import BaseTestCase
|
||||
|
||||
from seaserv import seafile_api
|
||||
|
||||
try:
|
||||
from seahub.settings import LOCAL_PRO_DEV_ENV
|
||||
except ImportError:
|
||||
LOCAL_PRO_DEV_ENV = False
|
||||
|
||||
|
||||
class ZipTaskViewTest(BaseTestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.repo_id = self.repo.id
|
||||
self.folder_path = self.folder
|
||||
self.folder_name = os.path.basename(self.folder_path)
|
||||
|
||||
self.url = reverse('api-v2.1-zip-task', args=[self.repo_id])
|
||||
|
||||
def tearDown(self):
|
||||
self.remove_repo()
|
||||
|
||||
def test_can_get_download_dir_zip_token(self):
|
||||
self.login_as(self.user)
|
||||
|
||||
parent_dir = '/'
|
||||
folder_name = self.folder_name
|
||||
url = self.url + '?parent_dir=%s&dirents=%s' % (parent_dir, folder_name)
|
||||
|
||||
resp = self.client.get(url)
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
json_resp = json.loads(resp.content)
|
||||
assert len(json_resp['zip_token']) == 36
|
||||
|
||||
def test_can_get_download_multi_zip_token(self):
|
||||
|
||||
# create another folder for download multi
|
||||
another_folder_name = 'another_folder_name'
|
||||
seafile_api.post_dir(repo_id=self.repo.id,
|
||||
parent_dir='/', dirname=another_folder_name,
|
||||
username=self.user.username)
|
||||
|
||||
self.login_as(self.user)
|
||||
|
||||
parent_dir = '/'
|
||||
folder_name = self.folder_name
|
||||
url = self.url + '?parent_dir=%s&dirents=%s&dirents=%s' % (parent_dir,
|
||||
folder_name, another_folder_name)
|
||||
|
||||
resp = self.client.get(url)
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
json_resp = json.loads(resp.content)
|
||||
assert len(json_resp['zip_token']) == 36
|
||||
|
||||
def test_can_get_zip_token_with_invalid_repo_permission(self):
|
||||
self.login_as(self.admin)
|
||||
|
||||
parent_dir = '/'
|
||||
folder_name = self.folder_name
|
||||
url = self.url + '?parent_dir=%s&dirents=%s' % (parent_dir, folder_name)
|
||||
|
||||
resp = self.client.get(url)
|
||||
self.assertEqual(403, resp.status_code)
|
||||
|
||||
def test_can_get_zip_token_for_r_permission_folder(self):
|
||||
|
||||
if not LOCAL_PRO_DEV_ENV:
|
||||
return
|
||||
|
||||
self.set_user_folder_r_permission_to_admin()
|
||||
|
||||
self.login_as(self.admin)
|
||||
|
||||
parent_dir = '/'
|
||||
folder_name = self.folder_name
|
||||
url = self.url + '?parent_dir=%s&dirents=%s' % (parent_dir, folder_name)
|
||||
|
||||
resp = self.client.get(url)
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
json_resp = json.loads(resp.content)
|
||||
assert len(json_resp['zip_token']) == 36
|
||||
|
||||
def test_can_get_zip_token_for_rw_permission_folder(self):
|
||||
|
||||
if not LOCAL_PRO_DEV_ENV:
|
||||
return
|
||||
|
||||
self.set_user_folder_rw_permission_to_admin()
|
||||
|
||||
self.login_as(self.admin)
|
||||
|
||||
parent_dir = '/'
|
||||
folder_name = self.folder_name
|
||||
url = self.url + '?parent_dir=%s&dirents=%s' % (parent_dir, folder_name)
|
||||
|
||||
resp = self.client.get(url)
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
json_resp = json.loads(resp.content)
|
||||
assert len(json_resp['zip_token']) == 36
|
Reference in New Issue
Block a user