Add test GitLab issue #653
Tests opening zip files containing a non English named member. Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
Binary file not shown.
@@ -0,0 +1 @@
|
||||
TEST FILE SPECIAL CHARACTERS FILENAME
|
||||
@@ -11,6 +11,7 @@ TEST_VIEW_NAME = 'test view name'
|
||||
TEST_VIEW_URL = 'test-view-url'
|
||||
|
||||
# Filenames
|
||||
TEST_ARCHIVE_ZIP_SPECIAL_CHARACTERS_FILENAME_MEMBER = 'test_archvive_with_special_characters_filename_member.zip'
|
||||
TEST_FILENAME1 = 'test_file1.txt'
|
||||
TEST_FILENAME2 = 'test_file2.txt'
|
||||
TEST_FILENAME3 = 'test_file3.txt'
|
||||
@@ -23,6 +24,10 @@ TEST_ZIP_FILE = 'test_file.zip'
|
||||
TEST_COMPRESSED_FILE_CONTENTS = [TEST_FILENAME1, TEST_FILENAME2]
|
||||
|
||||
# File paths
|
||||
TEST_ARCHIVE_ZIP_SPECIAL_CHARACTERS_FILENAME_MEMBER_PATH = os.path.join(
|
||||
settings.BASE_DIR, 'apps', 'common', 'tests', 'contrib',
|
||||
TEST_ARCHIVE_ZIP_SPECIAL_CHARACTERS_FILENAME_MEMBER
|
||||
)
|
||||
TEST_FILE3_PATH = os.path.join(
|
||||
settings.BASE_DIR, 'apps', 'common', 'tests', 'contrib', TEST_FILENAME3
|
||||
)
|
||||
|
||||
@@ -5,6 +5,7 @@ from mayan.apps.common.tests import BaseTestCase
|
||||
from ..compressed_files import Archive, TarArchive, ZipArchive
|
||||
|
||||
from .literals import (
|
||||
TEST_ARCHIVE_ZIP_SPECIAL_CHARACTERS_FILENAME_MEMBER_PATH,
|
||||
TEST_COMPRESSED_FILE_CONTENTS, TEST_FILE_CONTENTS_1, TEST_FILE3_PATH,
|
||||
TEST_FILENAME1, TEST_FILENAME3, TEST_TAR_BZ2_FILE_PATH,
|
||||
TEST_TAR_FILE_PATH, TEST_TAR_GZ_FILE_PATH, TEST_ZIP_FILE_PATH
|
||||
@@ -58,6 +59,11 @@ class ZipArchiveClassTestCase(TarArchiveClassTestCase):
|
||||
archive_path = TEST_ZIP_FILE_PATH
|
||||
cls = ZipArchive
|
||||
|
||||
def test_open_member_with_special_characters_filename(self):
|
||||
with open(TEST_ARCHIVE_ZIP_SPECIAL_CHARACTERS_FILENAME_MEMBER_PATH, mode='rb') as file_object:
|
||||
archive = Archive.open(file_object=file_object)
|
||||
list(archive.get_members())
|
||||
|
||||
|
||||
class TarGzArchiveClassTestCase(TarArchiveClassTestCase):
|
||||
archive_path = TEST_TAR_GZ_FILE_PATH
|
||||
@@ -67,3 +73,5 @@ class TarGzArchiveClassTestCase(TarArchiveClassTestCase):
|
||||
class TarBz2ArchiveClassTestCase(TarArchiveClassTestCase):
|
||||
archive_path = TEST_TAR_BZ2_FILE_PATH
|
||||
cls = TarArchive
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user