From 0b3977a02eae3b0978d485e219ec76442d090ce3 Mon Sep 17 00:00:00 2001 From: zming <517046497@qq.com> Date: Thu, 3 Aug 2017 16:14:15 +0800 Subject: [PATCH] add unit test --- seahub/tags/models.py | 3 -- tests/seahub/tags/__init__.py | 0 tests/seahub/tags/models/__init__.py | 0 .../tags/models/test_file_uuidmap_manager.py | 31 ++++++++++++++ .../tags/models/test_filetag_manager.py | 42 +++++++++++++++++++ tests/seahub/tags/models/test_tags_manager.py | 10 +++++ 6 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 tests/seahub/tags/__init__.py create mode 100644 tests/seahub/tags/models/__init__.py create mode 100644 tests/seahub/tags/models/test_file_uuidmap_manager.py create mode 100644 tests/seahub/tags/models/test_filetag_manager.py create mode 100644 tests/seahub/tags/models/test_tags_manager.py diff --git a/seahub/tags/models.py b/seahub/tags/models.py index 53876eb791..ef545eb5c8 100644 --- a/seahub/tags/models.py +++ b/seahub/tags/models.py @@ -2,14 +2,11 @@ # -*- coding: utf-8 -*- import uuid import hashlib -import logging from django.db import models from seahub.base.fields import LowerCaseCharField -logger = logging.getLogger(__name__) - ########## Manager class FileUUIDMapManager(models.Manager): diff --git a/tests/seahub/tags/__init__.py b/tests/seahub/tags/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/seahub/tags/models/__init__.py b/tests/seahub/tags/models/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/seahub/tags/models/test_file_uuidmap_manager.py b/tests/seahub/tags/models/test_file_uuidmap_manager.py new file mode 100644 index 0000000000..20091572bd --- /dev/null +++ b/tests/seahub/tags/models/test_file_uuidmap_manager.py @@ -0,0 +1,31 @@ +from seahub.tags.models import FileUUIDMap +from seahub.test_utils import BaseTestCase + +from seaserv import seafile_api + + +class FileUUIDMapManagerTest(BaseTestCase): + def setUp(self): + self.login_as(self.user) + self.repo = seafile_api.get_repo(self.create_repo(name='test-repo', desc='', + username=self.user.username, + passwd=None)) + + def test_get_fileuuid_by_uuid(self): + args = (self.repo.id, '/', 'dev', True) + uuid_obj = FileUUIDMap.objects.get_or_create_fileuuidmap(*args) + uuidmap_obj = FileUUIDMap.objects.get_fileuuidmap_by_uuid(uuid_obj.uuid) + assert uuid_obj == uuidmap_obj + + def test_create(self): + args = (self.repo.id, '/', 'dev_create', True) + uuidmap_obj = FileUUIDMap.objects.get_or_create_fileuuidmap(*args) + data = (uuidmap_obj.repo_id, uuidmap_obj.parent_path, uuidmap_obj.filename, uuidmap_obj.is_dir) + assert args == data + + def test_file_uuidmap_by_path(self): + args = (self.repo.id, '/', 'dev_by_path', True) + assert None == FileUUIDMap.objects.get_fileuuidmap_by_path(*args) + uuidmap_obj = FileUUIDMap.objects.get_or_create_fileuuidmap(*args) + assert uuidmap_obj == FileUUIDMap.objects.get_fileuuidmap_by_path(*args) + diff --git a/tests/seahub/tags/models/test_filetag_manager.py b/tests/seahub/tags/models/test_filetag_manager.py new file mode 100644 index 0000000000..63c891f6b6 --- /dev/null +++ b/tests/seahub/tags/models/test_filetag_manager.py @@ -0,0 +1,42 @@ +from seahub.tags.models import FileTag, FileUUIDMap +from seahub.test_utils import BaseTestCase + +from seaserv import seafile_api + + +class FileTagManagerTest(BaseTestCase): + def setUp(self): + self.login_as(self.user) + self.repo = seafile_api.get_repo(self.create_repo(name='test-repo', desc='', + username=self.user.username, + passwd=None)) + + def test_create_file_tag(self): + args = (self.repo.id, '/', 'q.q', True, 'test_tag', self.user.username) + data = FileTag.objects.get_or_create_file_tag(*args) + assert ('test_tag', True) == (data[0].tag.name, data[1]) + data = FileTag.objects.get_or_create_file_tag(*args) + assert ('test_tag', False) == (data[0].tag.name, data[1]) + + def test_exists_filetag(self): + uuid = FileUUIDMap.objects.get_or_create_fileuuidmap(self.repo.id, '/', 'q.q', True) + data = FileTag.objects.exists_filetag(uuid, 'test_exists') + assert (None, False) == data + data = FileTag.objects.get_or_create_file_tag(self.repo.id, '/', 'q.q', True, 'test_exists', self.user.username) + data = FileTag.objects.exists_filetag(uuid, 'test_exists') + assert ('test_exists', True) == (data[0].tag.name, True) + + def test_get_all_file_tag_by_path(self): + data = FileTag.objects.get_or_create_file_tag(self.repo.id, '/', 'q.2', True, 'test_get_all', self.user.username) + assert data[0].tag.name in [e.tag.name for e in FileTag.objects.get_all_file_tag_by_path(self.repo.id, '/', 'q.2', True)] + + def test_delete_one(self): + args = (self.repo.id, '/', 'q.q', True, 'test_tag', self.user.username) + del_args = (self.repo.id, '/', 'q.q', True, 'test_tag') + data = FileTag.objects.get_or_create_file_tag(*args) + assert FileTag.objects.delete_file_tag_by_path(*del_args) + + def test_delete_all(self): + data = FileTag.objects.get_or_create_file_tag(self.repo.id, '/', 'q.3', True, 'test_get_all', self.user.username) + FileTag.objects.delete_all_filetag_by_path(self.repo.id, '/', 'q.3', True) + assert data[0].tag.name not in [e.tag.name for e in FileTag.objects.get_all_file_tag_by_path(self.repo.id, '/', 'q.3', True)] diff --git a/tests/seahub/tags/models/test_tags_manager.py b/tests/seahub/tags/models/test_tags_manager.py new file mode 100644 index 0000000000..76edbc5e58 --- /dev/null +++ b/tests/seahub/tags/models/test_tags_manager.py @@ -0,0 +1,10 @@ +from seahub.tags.models import Tags +from seahub.test_utils import BaseTestCase + + +class TagsManagerTest(BaseTestCase): + def setUp(self): + pass + + def test_create_tag(self): + assert 'a' == Tags.objects.get_or_create_tag('a').name