mirror of
https://github.com/haiwen/seahub.git
synced 2025-04-27 11:01:14 +00:00
71 lines
2.5 KiB
Python
71 lines
2.5 KiB
Python
import json
|
|
import os
|
|
import time
|
|
|
|
from django.urls import reverse
|
|
from django.core.cache import cache
|
|
|
|
from seahub.test_utils import BaseTestCase
|
|
from seahub.profile.models import Profile
|
|
from seahub.base.templatetags.seahub_tags import email2nickname, email2contact_email
|
|
from seahub.utils import normalize_cache_key
|
|
|
|
class DirTest(BaseTestCase):
|
|
def setUp(self):
|
|
self.login_as(self.user)
|
|
self.endpoint = reverse('DirView', args=[self.repo.id])
|
|
self.folder_name = os.path.basename(self.folder)
|
|
self.file_name = os.path.basename(self.file)
|
|
|
|
def tearDown(self):
|
|
self.remove_repo()
|
|
|
|
def test_can_list(self):
|
|
resp = self.client.get(self.endpoint)
|
|
json_resp = json.loads(resp.content)
|
|
|
|
self.assertEqual(200, resp.status_code)
|
|
assert len(json_resp) == 2
|
|
assert self.folder_name == json_resp[0]['name']
|
|
assert self.file_name == json_resp[1]['name']
|
|
assert len(json_resp[1]['modifier_name']) > 0
|
|
assert len(json_resp[1]['modifier_contact_email']) > 0
|
|
|
|
def test_can_create(self):
|
|
resp = self.client.post(self.endpoint + '?p=/new_dir', {
|
|
'operation': 'mkdir'
|
|
})
|
|
|
|
self.assertEqual(201, resp.status_code)
|
|
|
|
def test_create_with_nonexistent_parent(self):
|
|
resp = self.client.post(self.endpoint + '?p=/new_parent/new_dir', {
|
|
'operation': 'mkdir'
|
|
})
|
|
|
|
self.assertEqual(404, resp.status_code)
|
|
|
|
def test_get_dir_file_modifier(self):
|
|
# upload the file , then test whether can get modifier
|
|
self.login_as(self.user)
|
|
self.text = self.create_file(repo_id=self.repo.id,
|
|
parent_dir='/',
|
|
filename='test.az',
|
|
username=self.user.username)
|
|
|
|
resp = self.client.get(self.endpoint)
|
|
self.assertEqual(200, resp.status_code)
|
|
json_resp = json.loads(resp.content)
|
|
assert json_resp[1]['type'] == 'file'
|
|
assert json_resp[1]['modifier_email'] == self.user.username
|
|
assert json_resp[1]['modifier_name'] == \
|
|
email2nickname(self.user.username)
|
|
assert json_resp[1]['modifier_contact_email'] == \
|
|
email2contact_email(self.user.username)
|
|
|
|
p = Profile.objects.add_or_update(self.user.username,
|
|
'test')
|
|
p = Profile.objects.update_contact_email(self.user.username, self.user.username)
|
|
assert cache.get(normalize_cache_key(self.user.username, 'CONTACT_')) == \
|
|
self.user.username
|