1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-10-20 10:20:42 +00:00

add name check

1. create/rename repo
1. create/rename folder
1. create/rename file
This commit is contained in:
lian
2017-04-14 13:21:16 +08:00
parent 1a508c78c6
commit fef1d50ecd
15 changed files with 116 additions and 22 deletions

View File

@@ -173,6 +173,17 @@ class DirViewTest(BaseTestCase):
# check old file has been renamed to new_name
assert new_name == self.get_lib_folder_name(self.repo_id)
def test_rename_folder_with_invalid_name(self):
self.login_as(self.user)
# check old folder exist
assert self.folder_name == self.get_lib_folder_name(self.repo_id)
data = {'operation': 'rename', 'newname': '123/456'}
resp = self.client.post(self.url + '?p=' + self.folder_path, data)
self.assertEqual(400, resp.status_code)
def test_can_rename_folder_with_same_name(self):
self.login_as(self.user)

View File

@@ -170,6 +170,16 @@ class FileViewTest(BaseTestCase):
# check old file has been renamed to new_name
assert new_name == self.get_lib_file_name(self.repo_id)
def test_rename_file_with_invalid_name(self):
self.login_as(self.user)
# check old file exist
assert self.file_name == self.get_lib_file_name(self.repo_id)
data = {'operation': 'rename', 'newname': '123/456'}
resp = self.client.post(self.url + '?p=' + self.file_path, data)
self.assertEqual(400, resp.status_code)
def test_can_rename_file_with_same_name(self):
self.login_as(self.user)

View File

@@ -32,6 +32,33 @@ class RepoTest(BaseTestCase):
)
self.assertEqual(200, resp.status_code)
def test_rename_with_invalid_name(self):
self.login_as(self.user)
invalid_name = '123/456'
data = {'repo_name': invalid_name}
resp = self.client.post(
reverse('api2-repo', args=[self.repo.id])+'?op=rename', data)
self.assertEqual(400, resp.status_code)
def test_rename_repo(self):
self.login_as(self.user)
invalid_name = '123456'
data = {'repo_name': invalid_name}
resp = self.client.post(
reverse('api2-repo', args=[self.repo.id])+'?op=rename', data)
self.assertEqual(200, resp.status_code)
json_resp = json.loads(resp.content)
assert json_resp == 'success'
def test_cleaning_stuff_when_delete(self):
self.login_as(self.user)

View File

@@ -4,7 +4,6 @@ Test repos api.
"""
import pytest
import uuid
import unittest
from seaserv import seafile_api
from tests.api.apitestbase import ApiTestBase
@@ -12,7 +11,7 @@ from tests.api.urls import (
REPOS_URL, DEFAULT_REPO_URL, GET_REPO_TOKENS_URL
)
from tests.common.utils import apiurl, urljoin, randstring
from tests.common.common import USERNAME, PASSWORD, SEAFILE_BASE_URL
from tests.common.common import SEAFILE_BASE_URL
# TODO: all tests should be run on an encrypted repo
class ReposApiTest(ApiTestBase):
@@ -105,6 +104,10 @@ class ReposApiTest(ApiTestBase):
# Check the repo is really removed
self.get(urljoin(REPOS_URL, repo_id), expected=404)
def test_create_repo_with_invalid_name(self):
data = {'name': 'test/test'}
self.post(REPOS_URL, data=data, expected=400)
def test_check_or_create_sub_repo(self):
# TODO: create a sub folder and use it as a sub repo
pass