From 2ded9e6c4b4b40b682de1943f171deacdd44a469 Mon Sep 17 00:00:00 2001 From: Satyam Sah Date: Fri, 4 Apr 2025 14:58:38 +0530 Subject: [PATCH] Added unit test case for MNT-24623 --- .../executer/ImporterActionExecuterTest.java | 42 ++++++++++++++++++ .../import-archive-test/accentCharTestZip.zip | Bin 0 -> 647 bytes 2 files changed, 42 insertions(+) create mode 100644 repository/src/test/resources/import-archive-test/accentCharTestZip.zip diff --git a/repository/src/test/java/org/alfresco/repo/action/executer/ImporterActionExecuterTest.java b/repository/src/test/java/org/alfresco/repo/action/executer/ImporterActionExecuterTest.java index 4ed456799d..bdba1986f1 100644 --- a/repository/src/test/java/org/alfresco/repo/action/executer/ImporterActionExecuterTest.java +++ b/repository/src/test/java/org/alfresco/repo/action/executer/ImporterActionExecuterTest.java @@ -299,6 +299,48 @@ public class ImporterActionExecuterTest }); } + @Test + public void testUnzipZipFileHavingAccentCharInFolderName() throws IOException + { + final RetryingTransactionHelper retryingTransactionHelper = serviceRegistry.getRetryingTransactionHelper(); + + retryingTransactionHelper.doInTransaction(new RetryingTransactionCallback() { + @Override + public Void execute() throws Throwable { + NodeRef rootNodeRef = nodeService.getRootNode(storeRef); + + // create test data + NodeRef zipFileNodeRef = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, ContentModel.ASSOC_CHILDREN, ContentModel.TYPE_CONTENT).getChildRef(); + NodeRef targetFolderNodeRef = nodeService.createNode(rootNodeRef, ContentModel.ASSOC_CHILDREN, ContentModel.ASSOC_CHILDREN, ContentModel.TYPE_FOLDER).getChildRef(); + + putContent(zipFileNodeRef, "import-archive-test/accentCharTestZip.zip"); + + Action action = createAction(zipFileNodeRef, "ImporterActionExecuterTestActionDefinition", targetFolderNodeRef); + + try + { + importerActionExecuter.setUncompressedBytesLimit("100000"); + importerActionExecuter.execute(action, zipFileNodeRef); + NodeRef importedFolder = nodeService.getChildByName(targetFolderNodeRef, ContentModel.ASSOC_CONTAINS, "accentCharTestZip"); + assertNotNull("import action failed", importedFolder); + assertTrue("unzip action failed",nodeService.getChildAssocs(importedFolder).size() == 1); + } + catch (AlfrescoRuntimeException e) + { + throw(new AlfrescoRuntimeException(e.getMessage())); + } + finally + { + // clean test data + nodeService.deleteNode(targetFolderNodeRef); + nodeService.deleteNode(zipFileNodeRef); + } + + return null; + } + }); + } + private void putContent(NodeRef zipFileNodeRef, String resource) { URL url = AbstractContentTransformerTest.class.getClassLoader().getResource(resource); diff --git a/repository/src/test/resources/import-archive-test/accentCharTestZip.zip b/repository/src/test/resources/import-archive-test/accentCharTestZip.zip new file mode 100644 index 0000000000000000000000000000000000000000..87850d8b8a44d5e65898d6e379bcb80e77163977 GIT binary patch literal 647 zcmWIWW@Zs#0D(0nEm2?wln`Q2U`R|(PR%QE&PXf@Ni8mk$}G??t>9*0WC1Aw6QLoz z4D3D&-=~KGu^tcyK+NM{V8}!>PYJ7e5F0?IJLaSvZoz8)`2`U3K{UjC4h{~6#w=9# z8WCka!oI^TdLT^x(%XPN3J>fjGdMkx7IZ zSI|j-LI@20JAx=80+N-15o9UcT&zKeY;FKna}gfI5uiYOAOQ(+KP)Jb{bs~~uxDH2 i2BPdi*oz}zf%bv|G{Bpc4HP2GKxo0pz+ef)3=9Ak-