mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-09 02:42:47 +00:00
[tests] add web api test for directories
This commit is contained in:
62
tests/integration_api/directories.py
Normal file
62
tests/integration_api/directories.py
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
from integration_api import DEFAULT_LIBRARY_URL, get_authed_instance, \
|
||||||
|
LIBRARIES_URL, USERNAME
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
class DirectoriesApiTestCase(unittest.TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
self.requests = get_authed_instance()
|
||||||
|
self.assertIsNotNone(self.requests)
|
||||||
|
res = self.requests.post(DEFAULT_LIBRARY_URL)
|
||||||
|
self.rid = res.json()['repo_id']
|
||||||
|
self.rurl = LIBRARIES_URL + str(self.rid) + u'/'
|
||||||
|
self.durl = self.rurl + u'dir/'
|
||||||
|
|
||||||
|
def testListDirectoryApi(self):
|
||||||
|
res = self.requests.get(self.durl)
|
||||||
|
self.assertEqual(res.status_code, 200)
|
||||||
|
json = res.json()
|
||||||
|
self.assertIsNotNone(json)
|
||||||
|
for directory in json:
|
||||||
|
self.assertIsNotNone(directory['id'])
|
||||||
|
self.assertIsNotNone(directory['type'])
|
||||||
|
self.assertIsNotNone(directory['name'])
|
||||||
|
#self.assertIsNotNone(directory['size']) #allow null
|
||||||
|
|
||||||
|
def testCreateDirectoryApi(self):
|
||||||
|
data = { 'operation': 'mkdir' }
|
||||||
|
durl = self.durl + u'?p=/test'
|
||||||
|
res = self.requests.post(durl, data=data)
|
||||||
|
self.assertEqual(res.status_code, 201)
|
||||||
|
self.assertEqual(res.text, u'"success"')
|
||||||
|
|
||||||
|
def testRemoveDirectoryApi(self):
|
||||||
|
data = { 'operation': 'mkdir' }
|
||||||
|
durl = self.durl + u'?p=/test_dir_remove'
|
||||||
|
res = self.requests.post(durl, data=data)
|
||||||
|
res = self.requests.delete(durl)
|
||||||
|
self.assertEqual(res.status_code, 200)
|
||||||
|
self.assertEqual(res.text, u'"success"')
|
||||||
|
|
||||||
|
def testDownloadDirectoryApi(self):
|
||||||
|
data = { 'operation': 'mkdir' }
|
||||||
|
durl = self.durl + u'?p=/test_dir_download'
|
||||||
|
self.requests.post(durl, data=data)
|
||||||
|
ddurl = self.durl + u'download/?p=/test_dir_download'
|
||||||
|
res = self.requests.get(ddurl)
|
||||||
|
self.assertEqual(res.status_code, 200)
|
||||||
|
self.assertRegexpMatches(res.text, \
|
||||||
|
r'"http(.*)/files/\w{8,8}/test_dir_download"')
|
||||||
|
|
||||||
|
def testShareDirectoryApi(self):
|
||||||
|
data = { 'operation': 'mkdir' }
|
||||||
|
durl = self.durl + u'?p=/test_dir_share'
|
||||||
|
self.requests.post(durl, data=data)
|
||||||
|
dsurl = self.durl + u'share/?p=/test_dir_share'
|
||||||
|
data = { 'emails': USERNAME, 's_type': 'd', 'path': '/', 'perm': 'r' }
|
||||||
|
res = self.requests.post(dsurl, data=data)
|
||||||
|
self.assertEqual(res.status_code, 200)
|
||||||
|
self.assertEqual(res.text, u'{}')
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main(verbosity=2)
|
@@ -19,7 +19,9 @@ def suite():
|
|||||||
from integration_api.library import LibraryApiTestCase
|
from integration_api.library import LibraryApiTestCase
|
||||||
from integration_api.files import FilesApiTestCase
|
from integration_api.files import FilesApiTestCase
|
||||||
from integration_api.starredfiles import StarredFilesApiTestCase
|
from integration_api.starredfiles import StarredFilesApiTestCase
|
||||||
|
from integration_api.directories import DirectoriesApiTestCase
|
||||||
from integration_api.misc import MiscApiTestCase
|
from integration_api.misc import MiscApiTestCase
|
||||||
|
|
||||||
integration_api_suite = unittest.TestSuite((\
|
integration_api_suite = unittest.TestSuite((\
|
||||||
unittest.makeSuite(PingApiTestCase),
|
unittest.makeSuite(PingApiTestCase),
|
||||||
unittest.makeSuite(AuthPingApiTestCase),
|
unittest.makeSuite(AuthPingApiTestCase),
|
||||||
@@ -32,6 +34,7 @@ def suite():
|
|||||||
unittest.makeSuite(LibraryApiTestCase),
|
unittest.makeSuite(LibraryApiTestCase),
|
||||||
unittest.makeSuite(FilesApiTestCase),
|
unittest.makeSuite(FilesApiTestCase),
|
||||||
unittest.makeSuite(StarredFilesApiTestCase),
|
unittest.makeSuite(StarredFilesApiTestCase),
|
||||||
|
unittest.makeSuite(DirectoriesApiTestCase),
|
||||||
unittest.makeSuite(MiscApiTestCase),
|
unittest.makeSuite(MiscApiTestCase),
|
||||||
))
|
))
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user