1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-06-20 20:32:44 +00:00
seahub/tests/api/test_group_repos.py

61 lines
2.1 KiB
Python
Raw Normal View History

from django.core.urlresolvers import reverse
from tests.api.apitestbase import ApiTestBase
from tests.common.utils import apiurl
class GroupRepoTest(ApiTestBase):
2015-03-21 03:35:20 +00:00
def create_group_repo(self, group_id, expected=None, *args, **kwargs):
path = apiurl(reverse("api2-grouprepos", args=[group_id]))
data = {"name": 'grepo-test'}
data.update(kwargs)
2015-03-21 03:35:20 +00:00
resp = self.post(path, data=data, expected=expected)
return resp
def test_can_add(self):
with self.get_tmp_group() as group:
resp = self.create_group_repo(group.group_id)
assert resp.status_code == 200
2015-04-24 05:35:45 +00:00
resp_json = resp.json()
assert len(resp_json['id']) == 36
assert resp_json['name'] == 'grepo-test'
assert resp_json['size'] >= 0
assert resp_json['mtime'] > 0
assert resp_json['permission'] == 'rw'
assert '</time>' in resp_json['mtime_relative']
def test_add_with_wrong_perm(self):
with self.get_tmp_group() as group:
resp = self.create_group_repo(group.group_id, permission='rr')
assert resp.status_code == 400
def test_can_list(self):
with self.get_tmp_group() as group:
self.create_group_repo(group.group_id)
path = apiurl(reverse("api2-grouprepos", args=[group.group_id]))
resp = self.get(path)
assert resp.status_code == 200
assert len(resp.json()) == 1
2015-04-24 05:35:45 +00:00
resp_repo = resp.json()[0]
assert len(resp_repo['id']) == 36
assert resp_repo['name'] == 'grepo-test'
assert resp_repo['size'] >= 0
assert resp_repo['mtime'] > 0
assert resp_repo['permission'] in ('r', 'rw')
assert '</time>' in resp_repo['mtime_relative']
def test_can_delete(self):
with self.get_tmp_group() as group:
resp = self.create_group_repo(group.group_id)
repo_id = resp.json()['id']
path = apiurl(reverse("api2-grouprepo", args=[group.group_id, repo_id]))
resp = self.delete(path)
assert resp.status_code == 200