diff --git a/contrib/sample_documents/I18N_title_áéíóúüñÑ.png.zip b/contrib/sample_documents/I18N_title_áéíóúüñÑ.png.zip new file mode 100644 index 0000000000..71dd22e25d Binary files /dev/null and b/contrib/sample_documents/I18N_title_áéíóúüñÑ.png.zip differ diff --git a/mayan/apps/documents/tests.py b/mayan/apps/documents/tests.py index 0b9f4e6996..e37acda614 100644 --- a/mayan/apps/documents/tests.py +++ b/mayan/apps/documents/tests.py @@ -22,10 +22,12 @@ TEST_ADMIN_USERNAME = 'test_admin' TEST_ADMIN_EMAIL = 'admin@admin.com' TEST_SMALL_DOCUMENT_FILENAME = 'title_page.png' TEST_NON_ASCII_DOCUMENT_FILENAME = 'I18N_title_áéíóúüñÑ.png' +TEST_NON_ASCII_COMPRESSED_DOCUMENT_FILENAME = 'I18N_title_áéíóúüñÑ.png.zip' TEST_DOCUMENT_PATH = os.path.join(settings.BASE_DIR, 'contrib', 'sample_documents', 'mayan_11_1.pdf') TEST_SIGNED_DOCUMENT_PATH = os.path.join(settings.BASE_DIR, 'contrib', 'sample_documents', 'mayan_11_1.pdf.gpg') TEST_SMALL_DOCUMENT_PATH = os.path.join(settings.BASE_DIR, 'contrib', 'sample_documents', TEST_SMALL_DOCUMENT_FILENAME) TEST_NON_ASCII_DOCUMENT_PATH = os.path.join(settings.BASE_DIR, 'contrib', 'sample_documents', TEST_NON_ASCII_DOCUMENT_FILENAME) +TEST_NON_ASCII_COMPRESSED_DOCUMENT_PATH = os.path.join(settings.BASE_DIR, 'contrib', 'sample_documents', TEST_NON_ASCII_COMPRESSED_DOCUMENT_FILENAME) TEST_DOCUMENT_DESCRIPTION = 'test description' TEST_DOCUMENT_TYPE = 'test_document_type' diff --git a/mayan/apps/sources/tests.py b/mayan/apps/sources/tests.py index ac0b4180d6..61e7ac075f 100644 --- a/mayan/apps/sources/tests.py +++ b/mayan/apps/sources/tests.py @@ -16,10 +16,11 @@ from documents.tests import ( TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, TEST_ADMIN_EMAIL, TEST_DOCUMENT_PATH, TEST_SMALL_DOCUMENT_PATH, TEST_DOCUMENT_DESCRIPTION, TEST_DOCUMENT_TYPE, - TEST_NON_ASCII_DOCUMENT_FILENAME, TEST_NON_ASCII_DOCUMENT_PATH + TEST_NON_ASCII_DOCUMENT_FILENAME, TEST_NON_ASCII_DOCUMENT_PATH, + TEST_NON_ASCII_COMPRESSED_DOCUMENT_PATH ) -from .literals import SOURCE_UNCOMPRESS_CHOICE_N +from .literals import SOURCE_UNCOMPRESS_CHOICE_N, SOURCE_UNCOMPRESS_CHOICE_Y from .models import WatchFolderSource @@ -42,7 +43,7 @@ class UploadDocumentTestCase(TestCase): temporary_directory = tempfile.mkdtemp() shutil.copy(TEST_NON_ASCII_DOCUMENT_PATH, temporary_directory) - watch_folder = WatchFolderSource.objects.create(document_type=self.document_type, folder_path=temporary_directory, uncompress=SOURCE_UNCOMPRESS_CHOICE_N) + watch_folder = WatchFolderSource.objects.create(document_type=self.document_type, folder_path=temporary_directory, uncompress=SOURCE_UNCOMPRESS_CHOICE_Y) watch_folder.check_source() self.assertEqual(Document.objects.count(), 1) @@ -57,6 +58,23 @@ class UploadDocumentTestCase(TestCase): self.failUnlessEqual(document.label, TEST_NON_ASCII_DOCUMENT_FILENAME) self.failUnlessEqual(document.page_count, 1) + # Test Non-ASCII named documents inside Non-ASCII named compressed file + + shutil.copy(TEST_NON_ASCII_COMPRESSED_DOCUMENT_PATH, temporary_directory) + + watch_folder.check_source() + document = Document.objects.all()[1] + + self.assertEqual(Document.objects.count(), 2) + + self.failUnlessEqual(document.exists(), True) + self.failUnlessEqual(document.size, 17436) + + self.failUnlessEqual(document.file_mimetype, 'image/png') + self.failUnlessEqual(document.file_mime_encoding, 'binary') + self.failUnlessEqual(document.label, TEST_NON_ASCII_DOCUMENT_FILENAME) + self.failUnlessEqual(document.page_count, 1) + shutil.rmtree(temporary_directory) def test_upload_a_document(self):