1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-01 07:01:12 +00:00

Remove share links when delete repo

This commit is contained in:
zhengxie
2015-10-23 18:37:14 +08:00
parent 5b9e03c45f
commit 178ff33a58
3 changed files with 77 additions and 4 deletions

53
tests/api/test_repo.py Normal file
View File

@@ -0,0 +1,53 @@
"""seahub/api2/views.py::Repo api tests.
"""
import json
from django.core.urlresolvers import reverse
from seahub.share.models import FileShare, UploadLinkShare
from seahub.test_utils import BaseTestCase
class RepoTest(BaseTestCase):
def test_can_fetch(self):
self.login_as(self.user)
resp = self.client.get(reverse("api2-repo", args=[self.repo.id]))
json_resp = json.loads(resp.content)
self.assertFalse(json_resp['encrypted'])
self.assertIsNotNone(json_resp['mtime'])
self.assertIsNotNone(json_resp['owner'])
self.assertIsNotNone(json_resp['id'])
self.assertIsNotNone(json_resp['size'])
self.assertIsNotNone(json_resp['name'])
self.assertIsNotNone(json_resp['root'])
self.assertIsNotNone(json_resp['desc'])
self.assertIsNotNone(json_resp['type'])
def test_can_delete(self):
self.login_as(self.user)
resp = self.client.delete(
reverse('api2-repo', args=[self.repo.id])
)
self.assertEqual(200, resp.status_code)
def test_cleaning_stuff_when_delete(self):
self.login_as(self.user)
# create download and upload links
FileShare.objects.create_dir_link(self.user.username,
self.repo.id, '/', None)
FileShare.objects.create_file_link(self.user.username,
self.repo.id, self.file)
UploadLinkShare.objects.create_upload_link_share(self.user.username,
self.repo.id, '/')
assert len(FileShare.objects.all()) == 2
assert len(UploadLinkShare.objects.all()) == 1
self.client.delete(
reverse('api2-repo', args=[self.repo.id])
)
assert len(FileShare.objects.all()) == 0
assert len(UploadLinkShare.objects.all()) == 0