From e64eb4867089ca91b70115eb5d2b680e7fa9d06b Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Wed, 13 Oct 2021 22:34:35 +0000 Subject: [PATCH] add tests git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1894213 13f79535-47bb-0310-9956-ffa450edef68 --- .../opc/TestEncryptedTempFilePackagePart.java | 33 ++++++++++++++++++ .../opc/TestTempFilePackagePart.java | 34 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 poi-ooxml/src/test/java/org/apache/poi/openxml4j/opc/TestEncryptedTempFilePackagePart.java create mode 100644 poi-ooxml/src/test/java/org/apache/poi/openxml4j/opc/TestTempFilePackagePart.java diff --git a/poi-ooxml/src/test/java/org/apache/poi/openxml4j/opc/TestEncryptedTempFilePackagePart.java b/poi-ooxml/src/test/java/org/apache/poi/openxml4j/opc/TestEncryptedTempFilePackagePart.java new file mode 100644 index 0000000000..f4f3e296f0 --- /dev/null +++ b/poi-ooxml/src/test/java/org/apache/poi/openxml4j/opc/TestEncryptedTempFilePackagePart.java @@ -0,0 +1,33 @@ +package org.apache.poi.openxml4j.opc; + +import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; +import org.apache.poi.openxml4j.opc.internal.EncryptedTempFilePackagePart; +import org.apache.poi.util.IOUtils; +import org.junit.jupiter.api.Test; + +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import java.util.UUID; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class TestEncryptedTempFilePackagePart { + @Test + void testRoundTrip() throws Exception { + String text = UUID.randomUUID().toString(); + String filepath = OpenXML4JTestDataSamples.getSampleFileName("sample.docx"); + + try (OPCPackage p = OPCPackage.open(filepath, PackageAccess.READ)) { + PackagePartName name = new PackagePartName("/test.txt", true); + EncryptedTempFilePackagePart part = new EncryptedTempFilePackagePart(p, name, "text/plain"); + try (OutputStream os = part.getOutputStream()) { + os.write(text.getBytes(StandardCharsets.UTF_8)); + } + assertEquals(-1, part.getSize()); + try (InputStream is = part.getInputStream()) { + assertEquals(text, new String(IOUtils.toByteArray(is), StandardCharsets.UTF_8)); + } + } + } +} diff --git a/poi-ooxml/src/test/java/org/apache/poi/openxml4j/opc/TestTempFilePackagePart.java b/poi-ooxml/src/test/java/org/apache/poi/openxml4j/opc/TestTempFilePackagePart.java new file mode 100644 index 0000000000..41a73276c5 --- /dev/null +++ b/poi-ooxml/src/test/java/org/apache/poi/openxml4j/opc/TestTempFilePackagePart.java @@ -0,0 +1,34 @@ +package org.apache.poi.openxml4j.opc; + +import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; +import org.apache.poi.openxml4j.opc.internal.TempFilePackagePart; +import org.apache.poi.util.IOUtils; +import org.junit.jupiter.api.Test; + +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import java.util.UUID; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class TestTempFilePackagePart { + @Test + void testRoundTrip() throws Exception { + String text = UUID.randomUUID().toString(); + byte[] bytes = text.getBytes(StandardCharsets.UTF_8); + String filepath = OpenXML4JTestDataSamples.getSampleFileName("sample.docx"); + + try (OPCPackage p = OPCPackage.open(filepath, PackageAccess.READ)) { + PackagePartName name = new PackagePartName("/test.txt", true); + TempFilePackagePart part = new TempFilePackagePart(p, name, "text/plain"); + try (OutputStream os = part.getOutputStream()) { + os.write(text.getBytes(StandardCharsets.UTF_8)); + } + assertEquals(bytes.length, part.getSize()); + try (InputStream is = part.getInputStream()) { + assertEquals(text, new String(IOUtils.toByteArray(is), StandardCharsets.UTF_8)); + } + } + } +} -- 2.39.5