mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-16 23:29:49 +00:00
add dtables
This commit is contained in:
@@ -13,13 +13,20 @@ class WorkspacesViewTest(BaseTestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.workspace = Workspaces.objects.create_workspace(
|
||||
"workspace1",
|
||||
self.user.username,
|
||||
self.repo.id
|
||||
)
|
||||
self.url = reverse('api-v2.1-workspaces')
|
||||
self.login_as(self.user)
|
||||
|
||||
def tearDown(self):
|
||||
assert len(Workspaces.objects.all()) == 1
|
||||
|
||||
workspace = Workspaces.objects.get_workspace_by_owner(self.user.username)
|
||||
workspace_id = workspace.id
|
||||
|
||||
Workspaces.objects.delete_workspace(workspace_id)
|
||||
|
||||
def test_can_list(self):
|
||||
assert len(Workspaces.objects.all()) == 1
|
||||
|
||||
@@ -43,83 +50,28 @@ class WorkspacesViewTest(BaseTestCase):
|
||||
assert json_resp["workspace_list"] == []
|
||||
assert len(Workspaces.objects.all()) == 1
|
||||
|
||||
def test_can_create(self):
|
||||
assert len(Workspaces.objects.all()) == 1
|
||||
|
||||
resp = self.client.post(self.url, {'name': 'workspace2'})
|
||||
self.assertEqual(201, resp.status_code)
|
||||
|
||||
assert len(Workspaces.objects.all()) == 2
|
||||
|
||||
json_resp = json.loads(resp.content)
|
||||
assert json_resp["workspace"]["name"] == 'workspace2'
|
||||
|
||||
|
||||
class WorkspaceViewTest(BaseTestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.workspace = Workspaces.objects.create_workspace(
|
||||
"workspace3",
|
||||
self.user.username,
|
||||
self.repo.id
|
||||
)
|
||||
self.url = reverse('api-v2.1-workspace', args=[self.workspace.id])
|
||||
self.login_as(self.user)
|
||||
|
||||
def test_can_rename(self):
|
||||
data = 'name=%s' % 'workspace4'
|
||||
resp = self.client.put(self.url, data, 'application/x-www-form-urlencoded')
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
json_resp = json.loads(resp.content)
|
||||
assert json_resp["workspace"]["name"] == 'workspace4'
|
||||
|
||||
def test_rename_with_invalid_permission(self):
|
||||
self.logout()
|
||||
self.login_as(self.admin)
|
||||
|
||||
data = 'name=%s' % 'workspace5'
|
||||
resp = self.client.put(self.url, data, 'application/x-www-form-urlencoded')
|
||||
self.assertEqual(403, resp.status_code)
|
||||
|
||||
def test_rename_with_invalid_repo(self):
|
||||
url = reverse('api2-repo', args=[self.workspace.repo_id])
|
||||
resp = self.client.delete(url, {}, 'application/x-www-form-urlencoded')
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
data = 'name=%s' % 'workspace6'
|
||||
resp = self.client.put(self.url, data, 'application/x-www-form-urlencoded')
|
||||
self.assertEqual(404, resp.status_code)
|
||||
|
||||
def test_can_delete(self):
|
||||
assert len(Workspaces.objects.all()) == 1
|
||||
|
||||
resp = self.client.delete(self.url, {'name': 'workspace3'})
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
assert len(Workspaces.objects.all()) == 0
|
||||
|
||||
def test_delete_with_invalid_permission(self):
|
||||
self.logout()
|
||||
self.login_as(self.admin)
|
||||
|
||||
resp = self.client.delete(self.url, {'name': 'workspace3'})
|
||||
self.assertEqual(403, resp.status_code)
|
||||
|
||||
|
||||
class DTableTest(BaseTestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.workspace = Workspaces.objects.create_workspace(
|
||||
"workspace",
|
||||
self.user.username,
|
||||
self.repo.id
|
||||
)
|
||||
self.url = reverse('api-v2.1-workspace-dtable', args=[self.workspace.id])
|
||||
self.url1 = reverse('api-v2.1-dtables')
|
||||
self.url2 = reverse('api-v2.1-workspace-dtable', args=[self.workspace.id])
|
||||
self.login_as(self.user)
|
||||
|
||||
def tearDown(self):
|
||||
assert len(Workspaces.objects.all()) == 1
|
||||
|
||||
workspace = Workspaces.objects.get_workspace_by_owner(self.user.username)
|
||||
workspace_id = workspace.id
|
||||
|
||||
Workspaces.objects.delete_workspace(workspace_id)
|
||||
|
||||
def test_can_create(self):
|
||||
resp = self.client.post(self.url, {'name': 'table1'})
|
||||
resp = self.client.post(self.url1, {'name': 'table1', 'owner': self.user.username})
|
||||
self.assertEqual(201, resp.status_code)
|
||||
|
||||
json_resp = json.loads(resp.content)
|
||||
@@ -130,18 +82,18 @@ class DTableTest(BaseTestCase):
|
||||
resp = self.client.delete(url, {}, 'application/x-www-form-urlencoded')
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
resp = self.client.post(self.url, {'name': 'table2'})
|
||||
resp = self.client.post(self.url1, {'name': 'table2'})
|
||||
self.assertEqual(404, resp.status_code)
|
||||
|
||||
def test_can_rename(self):
|
||||
resp = self.client.post(self.url, {'name': 'table3'})
|
||||
resp = self.client.post(self.url1, {'name': 'table1', 'owner': self.user.username})
|
||||
self.assertEqual(201, resp.status_code)
|
||||
|
||||
json_resp = json.loads(resp.content)
|
||||
assert json_resp["table"]["name"] == 'table3'
|
||||
|
||||
resp = self.client.put(
|
||||
self.url,
|
||||
self.url2,
|
||||
'old_name=table3&new_name=table4',
|
||||
'application/x-www-form-urlencoded'
|
||||
)
|
||||
@@ -152,7 +104,7 @@ class DTableTest(BaseTestCase):
|
||||
assert json_resp["table"]["name"] == 'table4'
|
||||
|
||||
def test_rename_with_invalid_workspace(self):
|
||||
resp = self.client.post(self.url, {'name': 'table5'})
|
||||
resp = self.client.post(self.url1, {'name': 'table1', 'owner': self.user.username})
|
||||
self.assertEqual(201, resp.status_code)
|
||||
|
||||
json_resp = json.loads(resp.content)
|
||||
@@ -164,7 +116,7 @@ class DTableTest(BaseTestCase):
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
resp = self.client.put(
|
||||
self.url,
|
||||
self.url2,
|
||||
'old_name=table5&new_name=table6',
|
||||
'application/x-www-form-urlencoded'
|
||||
)
|
||||
@@ -172,18 +124,18 @@ class DTableTest(BaseTestCase):
|
||||
self.assertEqual(404, resp.status_code)
|
||||
|
||||
def test_can_delete(self):
|
||||
resp = self.client.post(self.url, {'name': 'table7'})
|
||||
resp = self.client.post(self.url1, {'name': 'table1', 'owner': self.user.username})
|
||||
self.assertEqual(201, resp.status_code)
|
||||
|
||||
json_resp = json.loads(resp.content)
|
||||
assert json_resp["table"]["name"] == 'table7'
|
||||
|
||||
data = 'name=%s' % 'table7'
|
||||
resp = self.client.delete(self.url, data, 'application/x-www-form-urlencoded')
|
||||
resp = self.client.delete(self.url2, data, 'application/x-www-form-urlencoded')
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
def test_delete_with_invalid_permission(self):
|
||||
resp = self.client.post(self.url, {'name': 'table8'})
|
||||
resp = self.client.post(self.url1, {'name': 'table1', 'owner': self.user.username})
|
||||
self.assertEqual(201, resp.status_code)
|
||||
|
||||
json_resp = json.loads(resp.content)
|
||||
@@ -193,11 +145,11 @@ class DTableTest(BaseTestCase):
|
||||
self.login_as(self.admin)
|
||||
|
||||
data = 'name=%s' % 'table8'
|
||||
resp = self.client.delete(self.url, data, 'application/x-www-form-urlencoded')
|
||||
resp = self.client.delete(self.url2, data, 'application/x-www-form-urlencoded')
|
||||
self.assertEqual(403, resp.status_code)
|
||||
|
||||
def test_delete_with_repo_only_read(self):
|
||||
resp = self.client.post(self.url, {'name': 'table9'})
|
||||
resp = self.client.post(self.url1, {'name': 'table1', 'owner': self.user.username})
|
||||
self.assertEqual(201, resp.status_code)
|
||||
|
||||
json_resp = json.loads(resp.content)
|
||||
@@ -206,5 +158,5 @@ class DTableTest(BaseTestCase):
|
||||
seafile_api.set_repo_status(self.workspace.repo_id, 1)
|
||||
|
||||
data = 'name=%s' % 'table9'
|
||||
resp = self.client.delete(self.url, data, 'application/x-www-form-urlencoded')
|
||||
resp = self.client.delete(self.url2, data, 'application/x-www-form-urlencoded')
|
||||
self.assertEqual(403, resp.status_code)
|
||||
|
Reference in New Issue
Block a user