mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-02 07:27:04 +00:00
@@ -3,6 +3,7 @@
|
||||
Test file/dir operations.
|
||||
"""
|
||||
|
||||
import posixpath
|
||||
import random
|
||||
import re
|
||||
import pytest
|
||||
@@ -212,7 +213,30 @@ class FilesApiTest(ApiTestBase):
|
||||
res = self.get(update_blks_url)
|
||||
self.assertRegexpMatches(res.text, r'"http(.*)/update-blks-api/[^/]+"')
|
||||
|
||||
def test_list_dir(self):
|
||||
def test_only_list_dir(self):
|
||||
with self.get_tmp_repo() as repo:
|
||||
self.create_file(repo)
|
||||
self.create_dir(repo)
|
||||
dirents = self.get(repo.dir_url + '?t=d').json()
|
||||
self.assertHasLen(dirents, 1)
|
||||
for dirent in dirents:
|
||||
self.assertIsNotNone(dirent['id'])
|
||||
self.assertIsNotNone(dirent['name'])
|
||||
self.assertEqual(dirent['type'], 'dir')
|
||||
|
||||
def test_only_list_file(self):
|
||||
with self.get_tmp_repo() as repo:
|
||||
self.create_file(repo)
|
||||
self.create_dir(repo)
|
||||
dirents = self.get(repo.dir_url + '?t=f').json()
|
||||
self.assertHasLen(dirents, 1)
|
||||
for dirent in dirents:
|
||||
self.assertIsNotNone(dirent['id'])
|
||||
self.assertIsNotNone(dirent['name'])
|
||||
self.assertIsNotNone(dirent['size'])
|
||||
self.assertEqual(dirent['type'], 'file')
|
||||
|
||||
def test_list_dir_and_file(self):
|
||||
with self.get_tmp_repo() as repo:
|
||||
self.create_file(repo)
|
||||
self.create_dir(repo)
|
||||
@@ -225,6 +249,25 @@ class FilesApiTest(ApiTestBase):
|
||||
if dirent['type'] == 'file':
|
||||
self.assertIsNotNone(dirent['size'])
|
||||
|
||||
def test_list_recursive_dir(self):
|
||||
with self.get_tmp_repo() as repo:
|
||||
|
||||
# create test dir
|
||||
data = {'operation': 'mkdir'}
|
||||
dir_list = ['/1/', '/1/2/', '/1/2/3/', '/4/', '/4/5/', '/6/']
|
||||
for dpath in dir_list:
|
||||
durl = repo.get_dirpath_url(dpath)
|
||||
self.post(durl, data=data, expected=201)
|
||||
|
||||
# get recursive dir
|
||||
dirents = self.get(repo.dir_url + '?t=d&recursive=1').json()
|
||||
self.assertHasLen(dirents, len(dir_list))
|
||||
for dirent in dirents:
|
||||
self.assertIsNotNone(dirent['id'])
|
||||
self.assertEqual(dirent['type'], 'dir')
|
||||
full_path = posixpath.join(dirent['parent_dir'], dirent['name']) + '/'
|
||||
self.assertIn(full_path, dir_list)
|
||||
|
||||
def test_remove_dir(self):
|
||||
with self.get_tmp_repo() as repo:
|
||||
_, durl = self.create_dir(repo)
|
||||
|
Reference in New Issue
Block a user