Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java 
(original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java 
Thu Dec 24 18:42:29 2020
@@ -22,13 +22,14 @@ import static org.apache.poi.openxml4j.O
 import static 
org.apache.poi.openxml4j.OpenXML4JTestDataSamples.getSampleFileName;
 import static 
org.apache.poi.openxml4j.OpenXML4JTestDataSamples.openSampleStream;
 import static org.apache.poi.openxml4j.opc.PackagingURIHelper.createPartName;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.BufferedInputStream;
 import java.io.ByteArrayInputStream;
@@ -70,12 +71,12 @@ import org.apache.poi.openxml4j.exceptio
 import org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException;
 import org.apache.poi.openxml4j.exceptions.ODFNotOfficeXmlFileException;
 import org.apache.poi.openxml4j.exceptions.OLE2NotOfficeXmlFileException;
-import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
 import org.apache.poi.openxml4j.opc.internal.ContentTypeManager;
 import org.apache.poi.openxml4j.opc.internal.FileHelper;
 import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
 import org.apache.poi.openxml4j.opc.internal.ZipHelper;
 import org.apache.poi.openxml4j.util.ZipSecureFile;
+import org.apache.poi.sl.usermodel.SlideShow;
 import org.apache.poi.sl.usermodel.SlideShowFactory;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.usermodel.WorkbookFactory;
@@ -88,10 +89,9 @@ import org.apache.poi.xssf.streaming.SXS
 import org.apache.poi.xssf.usermodel.XSSFRelation;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.apache.poi.xwpf.usermodel.XWPFRelation;
-import org.apache.xmlbeans.XmlException;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.function.ThrowingRunnable;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.function.Executable;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
@@ -288,7 +288,7 @@ public final class TestPackage {
         for (int i = 0; i < nodeCount; i++) {
             Element element = (Element) nodeList.item(i);
             String value = 
element.getAttribute(PackageRelationship.TARGET_ATTRIBUTE_NAME);
-            assertTrue("Root target must not start with a leading slash ('/'): 
" + value, value.charAt(0) != '/');
+            assertTrue(value.charAt(0) != '/', "Root target must not start 
with a leading slash ('/'): " + value);
         }
 
     }
@@ -340,11 +340,7 @@ public final class TestPackage {
                StreamHelper.saveXmlInStream(doc, corePart.getOutputStream());
 
                // Save and close
-               try {
-                       pkg.close();
-               } catch (IOException e) {
-                       fail();
-               }
+               assertDoesNotThrow(pkg::close);
 
                ZipFileAssert.assertEquals(expectedFile, targetFile);
                assertTrue(targetFile.delete());
@@ -406,7 +402,7 @@ public final class TestPackage {
      * TODO: fix and enable
      */
     @Test
-       @Ignore
+       @Disabled
     public void removePartRecursive() throws IOException, 
InvalidFormatException, URISyntaxException {
                String originalFile = 
getSampleFileName("TestPackageCommon.docx");
                File targetFile = 
getOutputFile("TestPackageRemovePartRecursiveOUTPUT.docx");
@@ -519,12 +515,8 @@ public final class TestPackage {
         FileHelper.copyFile(origFile, tempFile);
                try (OPCPackage p = OPCPackage.open(tempFile.toString(), 
PackageAccess.READ_WRITE)) {
                        // Save it to the same file - not allowed
-                       try {
-                               p.save(tempFile);
-                               fail("You shouldn't be able to call save(File) 
to overwrite the current file");
-                       } catch(InvalidOperationException e) {
-                               // expected here
-                       }
+                       assertThrows(InvalidOperationException.class, () -> 
p.save(tempFile),
+                               "You shouldn't be able to call save(File) to 
overwrite the current file");
                }
         // Delete it
         assertTrue(tempFile.delete());
@@ -668,12 +660,12 @@ public final class TestPackage {
 
        private void handleNonOOXML(String file, Class<? extends 
UnsupportedFileFormatException> exception, String... messageParts) throws 
IOException {
                try (InputStream stream = 
xlsSamples.openResourceAsStream(file)) {
-                       ThrowingRunnable[] trs = {
+                       Executable[] trs = {
                                () -> OPCPackage.open(stream),
                                () -> OPCPackage.open(xlsSamples.getFile(file))
                        };
-                       for (ThrowingRunnable tr : trs) {
-                               Exception ex = assertThrows("Shouldn't be able 
to open "+file, exception, tr);
+                       for (Executable tr : trs) {
+                               Exception ex = assertThrows(exception, tr, 
"Shouldn't be able to open "+file);
                                Stream.of(messageParts).forEach(mp -> 
assertTrue(ex.getMessage().contains(mp)));
                        }
                }
@@ -792,7 +784,7 @@ public final class TestPackage {
                return false;
        }
 
-       private void openXmlBombFile(String file) throws IOException, 
OpenXML4JException, XmlException {
+       private void openXmlBombFile(String file) throws IOException {
                final double minInf = ZipSecureFile.getMinInflateRatio();
                ZipSecureFile.setMinInflateRatio(0.002);
                try (POITextExtractor extractor = 
ExtractorFactory.createExtractor(XSSFTestDataSamples.getSampleFile(file))) {
@@ -827,7 +819,7 @@ public final class TestPackage {
        }
 
        @Test
-       public void zipBombCheckSizesSizeTooBig() throws IOException, 
EncryptedDocumentException {
+       public void zipBombCheckSizesSizeTooBig() throws 
EncryptedDocumentException {
                POIXMLException ex = assertThrows(
                        POIXMLException.class,
                        () -> getZipStatsAndConsume((max_size, min_ratio) -> {
@@ -896,10 +888,10 @@ public final class TestPackage {
     }
 
     // bug 60128
-    @Test(expected=NotOfficeXmlFileException.class)
-    public void testCorruptFile() throws InvalidFormatException {
+    @Test
+    public void testCorruptFile() {
         File file = getSampleFile("invalid.xlsx");
-        OPCPackage.open(file, PackageAccess.READ);
+        assertThrows(NotOfficeXmlFileException.class, () -> 
OPCPackage.open(file, PackageAccess.READ));
     }
 
        private interface CountingStream {
@@ -944,16 +936,19 @@ public final class TestPackage {
                                                break;
                                }
                        }
-                       assertTrue("Core not found in " + p.getParts(), 
foundCoreProps);
-                       assertFalse("Document should not be found in " + 
p.getParts(), foundDocument);
-                       assertFalse("Theme1 should not found in " + 
p.getParts(), foundTheme1);
+                       assertTrue(foundCoreProps, "Core not found in " + 
p.getParts());
+                       assertFalse(foundDocument, "Document should not be 
found in " + p.getParts());
+                       assertFalse(foundTheme1, "Theme1 should not found in " 
+ p.getParts());
                }
        }
 
        @Test
        public void unparseableCentralDirectory() throws IOException {
                File f = 
getSampleFile("at.pzp.www_uploads_media_PP_Scheinecker-jdk6error.pptx");
-               SlideShowFactory.create(f, null, true).close();
+               try (SlideShow<?,?> ppt = SlideShowFactory.create(f, null, 
true)) {
+                       assertNotNull(ppt);
+                       assertNotNull(ppt.getSlides().get(0));
+               }
        }
 
        @Test
@@ -967,15 +962,13 @@ public final class TestPackage {
                }
 
                // feed the corrupted zip file to OPCPackage
-               try {
-                       OPCPackage.open(tmp, PackageAccess.READ);
-               } catch (Exception e) {
-                       // expected: the zip file is invalid
-                       // this test does not care if open() throws an 
exception or not.
-               }
+               // expected: the zip file is invalid
+               // this test does not care if open() throws an exception or not.
+               assertThrows(Exception.class, () -> OPCPackage.open(tmp, 
PackageAccess.READ));
+
                // If the stream is not closed on exception, it will keep a 
file descriptor to tmp,
                // and requests to the OS to delete the file will fail.
-               assertTrue("Can't delete tmp file", tmp.delete());
+               assertTrue(tmp.delete(), "Can't delete tmp file");
        }
 
        /**
@@ -984,30 +977,31 @@ public final class TestPackage {
         *  stream / file the broken file is being read from.
         * See bug #60128 for more
         */
-       @Test(expected = NotOfficeXmlFileException.class)
+       @Test
        public void testTidyStreamOnInvalidFile1() throws Exception {
                openInvalidFile("SampleSS.ods", false);
        }
 
-       @Test(expected = NotOfficeXmlFileException.class)
+       @Test
        public void testTidyStreamOnInvalidFile2() throws Exception {
                openInvalidFile("SampleSS.ods", true);
        }
 
-       @Test(expected = NotOfficeXmlFileException.class)
+       @Test
        public void testTidyStreamOnInvalidFile3() throws Exception {
                openInvalidFile("SampleSS.txt", false);
        }
 
-       @Test(expected = NotOfficeXmlFileException.class)
+       @Test
        public void testTidyStreamOnInvalidFile4() throws Exception {
                openInvalidFile("SampleSS.txt", true);
        }
 
-       @Test(expected = InvalidFormatException.class)
+       @Test
        public void testBug62592() throws Exception {
-               InputStream is = openSampleStream("62592.thmx");
-               /*OPCPackage p =*/ OPCPackage.open(is);
+               try (InputStream is = openSampleStream("62592.thmx")) {
+                       assertThrows(InvalidFormatException.class, () -> 
OPCPackage.open(is));
+               }
        }
 
        @Test
@@ -1049,20 +1043,23 @@ public final class TestPackage {
 
 
 
-       private static void openInvalidFile(final String name, final boolean 
useStream) throws IOException, InvalidFormatException {
-               ZipPackage pkgTest = null;
+       private static void openInvalidFile(final String name, final boolean 
useStream) throws IOException {
+               ZipPackage[] pkgTest = { null };
                try (final InputStream is = (useStream) ? 
xlsSamples.openResourceAsStream(name) : null) {
-                       try (final ZipPackage pkg = (useStream) ? new 
ZipPackage(is, PackageAccess.READ) : new ZipPackage(xlsSamples.getFile(name), 
PackageAccess.READ)) {
-                               pkgTest = pkg;
-                               assertNotNull(pkg.getZipArchive());
-                               assertFalse(pkg.getZipArchive().isClosed());
-                               pkg.getParts();
-                               fail("Shouldn't work");
-                       }
+                       assertThrows(NotOfficeXmlFileException.class, () -> {
+                               try (final ZipPackage pkg = (useStream)
+                                       ? new ZipPackage(is, PackageAccess.READ)
+                                       : new 
ZipPackage(xlsSamples.getFile(name), PackageAccess.READ)) {
+                                       pkgTest[0] = pkg;
+                                       assertNotNull(pkg.getZipArchive());
+                                       
assertFalse(pkg.getZipArchive().isClosed());
+                                       pkg.getParts();
+                               }
+                       });
                } finally {
-                       if (pkgTest != null) {
-                               assertNotNull(pkgTest.getZipArchive());
-                               assertTrue(pkgTest.getZipArchive().isClosed());
+                       if (pkgTest[0] != null) {
+                               assertNotNull(pkgTest[0].getZipArchive());
+                               
assertTrue(pkgTest[0].getZipArchive().isClosed());
                        }
                }
        }
@@ -1075,7 +1072,7 @@ public final class TestPackage {
                Files.copy(testFile, tmpFile);
 
                int numPartsBefore = 0;
-               String md5Before = Files.hash(tmpFile, 
Hashing.md5()).toString();
+               String md5Before = 
Files.asByteSource(tmpFile).hash(Hashing.sha256()).toString();
 
                RuntimeException ex = null;
                try(OPCPackage pkg = OPCPackage.open(tmpFile, 
PackageAccess.READ_WRITE))
@@ -1091,11 +1088,11 @@ public final class TestPackage {
                        ex = e;
                }
                // verify there was an exception while closing the file
-               assertNotNull("Fail to save: an error occurs while saving the 
package : Bugzilla 63029", ex);
+               assertNotNull(ex, "Fail to save: an error occurs while saving 
the package : Bugzilla 63029");
                assertEquals("Fail to save: an error occurs while saving the 
package : Bugzilla 63029", ex.getMessage());
 
                // assert that md5 after closing is the same, i.e. the source 
is left intact
-               String md5After = Files.hash(tmpFile, Hashing.md5()).toString();
+               String md5After = 
Files.asByteSource(tmpFile).hash(Hashing.sha256()).toString();
                assertEquals(md5Before, md5After);
 
                // try to read the source file once again

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java
 Thu Dec 24 18:42:29 2020
@@ -33,11 +33,11 @@ import org.apache.poi.openxml4j.exceptio
 import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
 import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import 
org.openxmlformats.schemas.officeDocument.x2006.customProperties.CTProperty;
 
 import static org.apache.poi.openxml4j.opc.TestContentType.isOldXercesActive;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
 
 public final class TestPackageCoreProperties {
        /**
@@ -204,7 +204,7 @@ public final class TestPackageCoreProper
         props.setModifiedProperty(strDate);
         assertEquals(strDate, props.getModifiedPropertyString());
         assertEquals(date, props.getModifiedProperty().get());
-        
+
         // Tidy
         pkg.close();
     }
@@ -229,57 +229,55 @@ public final class TestPackageCoreProper
 
        @Test
        public void testEntitiesInCoreProps_56164() throws Exception {
-        InputStream is = 
OpenXML4JTestDataSamples.openSampleStream("CorePropertiesHasEntities.ooxml");
-        OPCPackage p = OPCPackage.open(is);
-        is.close();
+        try (InputStream is = 
OpenXML4JTestDataSamples.openSampleStream("CorePropertiesHasEntities.ooxml");
+        OPCPackage p = OPCPackage.open(is)) {
 
-        // Should have 3 root relationships
-        boolean foundDocRel = false, foundCorePropRel = false, foundExtPropRel 
= false;
-        for (PackageRelationship pr : p.getRelationships()) {
-            if 
(pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_DOCUMENT))
-                foundDocRel = true;
-            if 
(pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_PROPERTIES))
-                foundCorePropRel = true;
-            if 
(pr.getRelationshipType().equals(PackageRelationshipTypes.EXTENDED_PROPERTIES))
-                foundExtPropRel = true;
-        }
-        assertTrue("Core/Doc Relationship not found in " + 
p.getRelationships(), foundDocRel);
-        assertTrue("Core Props Relationship not found in " + 
p.getRelationships(), foundCorePropRel);
-        assertTrue("Ext Props Relationship not found in " + 
p.getRelationships(), foundExtPropRel);
-
-        // Get the Core Properties
-        PackagePropertiesPart props = 
(PackagePropertiesPart)p.getPackageProperties();
-        
-        // used to resolve a value but now we ignore DTD entities for security 
reasons
-        assertEquals(isOldXercesActive(), 
props.getCreatorProperty().isPresent());
+            // Should have 3 root relationships
+            boolean foundDocRel = false, foundCorePropRel = false, 
foundExtPropRel = false;
+            for (PackageRelationship pr : p.getRelationships()) {
+                if 
(pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_DOCUMENT))
+                    foundDocRel = true;
+                if 
(pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_PROPERTIES))
+                    foundCorePropRel = true;
+                if 
(pr.getRelationshipType().equals(PackageRelationshipTypes.EXTENDED_PROPERTIES))
+                    foundExtPropRel = true;
+            }
+            assertTrue(foundDocRel, "Core Doc Relationship not found in " + 
p.getRelationships());
+            assertTrue(foundCorePropRel, "Core Props Relationship not found in 
" + p.getRelationships());
+            assertTrue(foundExtPropRel, "Ext Props Relationship not found in " 
+ p.getRelationships());
 
-        p.close();
+            // Get the Core Properties
+            PackagePropertiesPart props = (PackagePropertiesPart) 
p.getPackageProperties();
+
+            // used to resolve a value but now we ignore DTD entities for 
security reasons
+            assertEquals(isOldXercesActive(), 
props.getCreatorProperty().isPresent());
+        }
     }
-    
+
        @Test
        public void testListOfCustomProperties() throws Exception {
         File inp = 
POIDataSamples.getSpreadSheetInstance().getFile("ExcelWithAttachments.xlsm");
         OPCPackage pkg = OPCPackage.open(inp, PackageAccess.READ);
         XSSFWorkbook wb = new XSSFWorkbook(pkg);
-        
+
         assertNotNull(wb.getProperties());
         assertNotNull(wb.getProperties().getCustomProperties());
-        
+
         for (CTProperty prop : 
wb.getProperties().getCustomProperties().getUnderlyingProperties().getPropertyList())
 {
             assertNotNull(prop);
         }
-        
+
         wb.close();
         pkg.close();
     }
-       
+
        @Test
        public void testAlternateCorePropertyTimezones() throws Exception {
         InputStream is = 
OpenXML4JTestDataSamples.openSampleStream("OPCCompliance_CoreProperties_AlternateTimezones.docx");
         OPCPackage pkg = OPCPackage.open(is);
         PackagePropertiesPart props = 
(PackagePropertiesPart)pkg.getPackageProperties();
         is.close();
-        
+
         // We need predictable dates for testing!
         SimpleDateFormat df = new 
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ROOT);
         df.setTimeZone(LocaleUtil.TIMEZONE_UTC);
@@ -287,37 +285,37 @@ public final class TestPackageCoreProper
         // Check text properties first
         assertEquals("Lorem Ipsum", props.getTitleProperty().get());
         assertEquals("Apache POI", props.getCreatorProperty().get());
-        
+
         // Created at has a +3 timezone and milliseconds
         //   2006-10-13T18:06:00.123+03:00
         // = 2006-10-13T15:06:00.123+00:00
         assertEquals("2006-10-13T15:06:00Z", props.getCreatedPropertyString());
         assertEquals("2006-10-13T15:06:00.123Z", 
df.format(props.getCreatedProperty().get()));
-        
+
         // Modified at has a -13 timezone but no milliseconds
         //   2007-06-20T07:59:00-13:00
         // = 2007-06-20T20:59:00-13:00
         assertEquals("2007-06-20T20:59:00Z", 
props.getModifiedPropertyString());
         assertEquals("2007-06-20T20:59:00.000Z", 
df.format(props.getModifiedProperty().get()));
-        
-        
+
+
         // Ensure we can change them with other timezones and still read back 
OK
         props.setCreatedProperty("2007-06-20T20:57:00+13:00");
         props.setModifiedProperty("2007-06-20T20:59:00.123-13:00");
-        
+
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         pkg.save(baos);
         pkg = OPCPackage.open(new ByteArrayInputStream(baos.toByteArray()));
-        
+
         // Check text properties first - should be unchanged
         assertEquals("Lorem Ipsum", props.getTitleProperty().get());
         assertEquals("Apache POI", props.getCreatorProperty().get());
-        
+
         // Check the updated times
         //   2007-06-20T20:57:00+13:00
         // = 2007-06-20T07:57:00Z
         assertEquals("2007-06-20T07:57:00.000Z", 
df.format(props.getCreatedProperty().get()));
-        
+
         //   2007-06-20T20:59:00.123-13:00
         // = 2007-06-21T09:59:00.123Z
         assertEquals("2007-06-21T09:59:00.123Z", 
df.format(props.getModifiedProperty().get()));

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java
 Thu Dec 24 18:42:29 2020
@@ -17,9 +17,9 @@
 
 package org.apache.poi.openxml4j.opc;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public final class TestPackagePartName {
 

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java
 Thu Dec 24 18:42:29 2020
@@ -17,13 +17,14 @@
 
 package org.apache.poi.openxml4j.opc;
 
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.File;
 
 import org.apache.poi.openxml4j.OpenXML4JTestDataSamples;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test the addition of thumbnail in a package.
@@ -42,25 +43,19 @@ public final class TestPackageThumbnail
                File outputFile = 
OpenXML4JTestDataSamples.getOutputFile("TestPackageThumbnailOUTPUT.docx");
 
                // Open package
-               OPCPackage p = OPCPackage.open(inputPath, 
PackageAccess.READ_WRITE);
-               try {
+               try (OPCPackage p = OPCPackage.open(inputPath, 
PackageAccess.READ_WRITE)) {
                p.addThumbnail(imagePath);
                // Save the package in the output directory
                p.save(outputFile);
 
                // Open the newly created file to check core properties saved 
values.
-               OPCPackage p2 = OPCPackage.open(outputFile.getAbsolutePath(), 
PackageAccess.READ);
-               try {
-                       if 
(p2.getRelationshipsByType(PackageRelationshipTypes.THUMBNAIL)
-                                       .size() == 0)
-                               fail("Thumbnail not added to the package !");
-               } finally {
-                   p2.revert();
-                   p2.close();
+               try (OPCPackage p2 = 
OPCPackage.open(outputFile.getAbsolutePath(), PackageAccess.READ)) {
+                       assertNotEquals(0, 
p2.getRelationshipsByType(PackageRelationshipTypes.THUMBNAIL).size(),
+                                       "Thumbnail not added to the package !");
+                               p2.revert();
                }
-               } finally {
-                   p.revert();
-                   assertTrue(outputFile.delete());
+                       p.revert();
                }
+               assertTrue(outputFile.delete());
        }
 }

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java
 Thu Dec 24 18:42:29 2020
@@ -16,13 +16,13 @@
 ==================================================================== */
 package org.apache.poi.openxml4j.opc;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import java.net.URI;
 
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestPackagingURIHelper {
 
@@ -92,8 +92,7 @@ public class TestPackagingURIHelper {
         // Relative part name
         PackagePartName relativeName = PackagingURIHelper.createPartName(
                 "media/image1.gif", partBase);
-        assertEquals("The part name must be equal to "
-                + partNameToValid.getName(), partNameToValid, relativeName);
+        assertEquals(partNameToValid, relativeName, "The part name must be 
equal to " + partNameToValid.getName());
         pkg.revert();
     }
 
@@ -113,8 +112,7 @@ public class TestPackagingURIHelper {
         // Relative part name
         PackagePartName relativeName = PackagingURIHelper.createPartName(
                 new URI("media/image1.gif"), partBase);
-        assertEquals("The part name must be equal to "
-                + partNameToValid.getName(), partNameToValid, relativeName);
+        assertEquals(partNameToValid, relativeName, "The part name must be 
equal to " + partNameToValid.getName());
         pkg.revert();
     }
 

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java
 Thu Dec 24 18:42:29 2020
@@ -19,10 +19,10 @@ package org.apache.poi.openxml4j.opc;
 
 import static 
org.apache.poi.openxml4j.OpenXML4JTestDataSamples.openSampleStream;
 import static org.apache.poi.openxml4j.opc.TestContentType.isOldXercesActive;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -33,7 +33,7 @@ import java.util.regex.Pattern;
 import org.apache.poi.openxml4j.OpenXML4JTestDataSamples;
 import org.apache.poi.util.POILogFactory;
 import org.apache.poi.util.POILogger;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 
 public class TestRelationships {
@@ -66,7 +66,7 @@ public class TestRelationships {
                 assertNotNull(rel);
                 PackagePartName relName = 
PackagingURIHelper.createPartName(rel.getTargetURI());
                 PackagePart sheetPart = pkg.getPart(relName);
-                assertEquals("Number of relationships1 for " + 
sheetPart.getPartName(), 1, sheetPart.getRelationships().size());
+                assertEquals(1, sheetPart.getRelationships().size(), "Number 
of relationships1 for " + sheetPart.getPartName());
             }
         }
     }
@@ -430,16 +430,13 @@ public class TestRelationships {
             // Should have 3 root relationships
             boolean foundDocRel = false, foundCorePropRel = false, 
foundExtPropRel = false;
             for (PackageRelationship pr : p.getRelationships()) {
-                if 
(pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_DOCUMENT))
-                    foundDocRel = true;
-                if 
(pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_PROPERTIES))
-                    foundCorePropRel = true;
-                if 
(pr.getRelationshipType().equals(PackageRelationshipTypes.EXTENDED_PROPERTIES))
-                    foundExtPropRel = true;
+                foundDocRel |= 
pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_DOCUMENT);
+                foundCorePropRel |= 
pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_PROPERTIES);
+                foundExtPropRel |= 
pr.getRelationshipType().equals(PackageRelationshipTypes.EXTENDED_PROPERTIES);
             }
-            assertEquals("Core/Doc Relationship not found in " + 
p.getRelationships(), isOldXercesActive(), foundDocRel);
-            assertEquals("Core Props Relationship not found in " + 
p.getRelationships(), isOldXercesActive(), foundCorePropRel);
-            assertEquals("Ext Props Relationship not found in " + 
p.getRelationships(), isOldXercesActive(), foundExtPropRel);
+            assertEquals(isOldXercesActive(), foundDocRel, "Core Doc 
Relationship not found in " + p.getRelationships());
+            assertEquals(isOldXercesActive(), foundCorePropRel, "Core Props 
Relationship not found in " + p.getRelationships());
+            assertEquals(isOldXercesActive(), foundExtPropRel, "Ext Props 
Relationship not found in " + p.getRelationships());
         }
     }
 }

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/ZipFileAssert.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/ZipFileAssert.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/ZipFileAssert.java 
(original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/ZipFileAssert.java 
Thu Dec 24 18:42:29 2020
@@ -17,11 +17,12 @@
 
 package org.apache.poi.openxml4j.opc;
 
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.BufferedInputStream;
 import java.io.ByteArrayOutputStream;
@@ -34,7 +35,7 @@ import java.util.TreeMap;
 import org.apache.commons.compress.archivers.ArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
 import org.apache.poi.util.IOUtils;
-import org.junit.Assert;
+import org.junit.jupiter.api.Assertions;
 import org.xmlunit.builder.DiffBuilder;
 import org.xmlunit.builder.Input;
 import org.xmlunit.diff.Comparison;
@@ -55,14 +56,14 @@ public final class ZipFileAssert {
             TreeMap<String, ByteArrayOutputStream> file1,
             TreeMap<String, ByteArrayOutputStream> file2) {
         Set<String> listFile1 = file1.keySet();
-        Assert.assertEquals("not the same number of files in zip:", 
listFile1.size(), file2.keySet().size());
+        Assertions.assertEquals(listFile1.size(), file2.keySet().size(), "not 
the same number of files in zip:");
 
         for (String fileName : listFile1) {
             // extract the contents for both
             ByteArrayOutputStream contain1 = file1.get(fileName);
             ByteArrayOutputStream contain2 = file2.get(fileName);
 
-            assertNotNull(fileName + " not found in 2nd zip", contain2);
+            assertNotNull(contain2, fileName + " not found in 2nd zip");
             // no need to check for contain1. The key come from it
 
             if (fileName.matches(".*\\.(xml|rels)$")) {
@@ -75,11 +76,11 @@ public final class ZipFileAssert {
                         withDifferenceEvaluator(new IgnoreXMLDeclEvaluator()).
                         withNodeMatcher(new 
DefaultNodeMatcher(ElementSelectors.byNameAndAllAttributes, 
ElementSelectors.byNameAndText)).
                         build();
-                assertFalse(fileName+": "+diff.toString(), 
diff.hasDifferences());
+                assertFalse(diff.hasDifferences(), fileName+": 
"+diff.toString());
             } else {
                 // not xml, may be an image or other binary format
-                Assert.assertEquals(fileName + " does not have the same size 
in both zip:", contain1.size(), contain2.size());
-                assertArrayEquals("contents differ", contain1.toByteArray(), 
contain2.toByteArray());
+                Assertions.assertEquals(contain1.size(), contain2.size(), 
fileName + " does not have the same size in both zip:");
+                assertArrayEquals(contain1.toByteArray(), 
contain2.toByteArray(), "contents differ");
             }
         }
     }
@@ -126,21 +127,12 @@ public final class ZipFileAssert {
         assertNotNull(expected);
         assertNotNull(actual);
 
-        assertTrue("File does not exist [" + expected.getAbsolutePath()
-                + "]", expected.exists());
-        assertTrue("File does not exist [" + actual.getAbsolutePath()
-                + "]", actual.exists());
-
-        assertTrue("Expected file not readable", expected.canRead());
-        assertTrue("Actual file not readable", actual.canRead());
-
-        try {
-            TreeMap<String, ByteArrayOutputStream> file1 = 
decompress(expected);
-            TreeMap<String, ByteArrayOutputStream> file2 = decompress(actual);
-            equals(file1, file2);
-        } catch (IOException e) {
-            fail(e.toString());
-        }
+        assertTrue(expected.exists(), "File does not exist [" + 
expected.getAbsolutePath() + "]");
+        assertTrue(actual.exists(), "File does not exist [" + 
actual.getAbsolutePath() + "]");
+        assertTrue(expected.canRead(), "Expected file not readable");
+        assertTrue(actual.canRead(), "Actual file not readable");
+
+        assertDoesNotThrow(() -> equals(decompress(expected), 
decompress(actual)));
     }
 
     private static class IgnoreXMLDeclEvaluator implements DifferenceEvaluator 
{

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java
 Thu Dec 24 18:42:29 2020
@@ -19,11 +19,12 @@ package org.apache.poi.openxml4j.opc.com
 
 import static 
org.apache.poi.openxml4j.OpenXML4JTestDataSamples.openComplianceSampleStream;
 import static 
org.apache.poi.openxml4j.OpenXML4JTestDataSamples.openSampleStream;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -44,7 +45,7 @@ import org.apache.poi.openxml4j.opc.Pack
 import org.apache.poi.openxml4j.opc.TargetMode;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.TempFile;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test core properties Open Packaging Convention compliance.
@@ -90,20 +91,12 @@ public final class TestOPCComplianceCore
         pkg.revert();
     }
 
-    private static String extractInvalidFormatMessage(String sampleNameSuffix) 
{
-        InputStream is = 
openComplianceSampleStream("OPCCompliance_CoreProperties_" + sampleNameSuffix);
-        OPCPackage pkg;
-        try {
-            pkg = OPCPackage.open(is);
-        } catch (InvalidFormatException e) {
-            // no longer required for successful test
+    private static String extractInvalidFormatMessage(String sampleNameSuffix) 
throws IOException {
+        try (InputStream is = 
openComplianceSampleStream("OPCCompliance_CoreProperties_" + sampleNameSuffix)) 
{
+            InvalidFormatException e = 
assertThrows(InvalidFormatException.class,
+                () -> OPCPackage.open(is).revert(), "expected OPC compliance 
exception was not thrown");
             return e.getMessage();
-        } catch (IOException e) {
-            throw new RuntimeException(e);
         }
-        pkg.revert();
-        fail("expected OPC compliance exception was not thrown");
-        return null;
     }
 
     /**
@@ -112,12 +105,12 @@ public final class TestOPCComplianceCore
     @Test
     public void testOnlyOneCorePropertiesPart() throws Exception {
        // We have relaxed this check, so we can read the file anyway
-        try (InputStream is = openSampleStream("OPCCompliance_CoreProperties_" 
+ "OnlyOneCorePropertiesPartFAIL.docx");
-             OPCPackage pkg = OPCPackage.open(is)) {
-            assertNotNull(pkg);
-        } catch (Exception e) {
-            fail("M4.1 should be being relaxed");
-        }
+        assertDoesNotThrow(() -> {
+            try (InputStream is = 
openSampleStream("OPCCompliance_CoreProperties_OnlyOneCorePropertiesPartFAIL.docx");
+                 OPCPackage pkg = OPCPackage.open(is)) {
+                assertNotNull(pkg);
+            }
+        }, "M4.1 should be being relaxed");
 
        // We will use the first core properties, and ignore the others
 
@@ -148,55 +141,41 @@ public final class TestOPCComplianceCore
      * Test M4.1 rule.
      */
     @Test
-    public void testOnlyOneCorePropertiesPart_AddRelationship() {
-        InputStream is = 
openComplianceSampleStream("OPCCompliance_CoreProperties_OnlyOneCorePropertiesPart.docx");
-        OPCPackage pkg;
-        try {
-            pkg = OPCPackage.open(is);
-        } catch (InvalidFormatException | IOException e) {
-            throw new RuntimeException(e);
-        }
-        URI partUri = createURI("/docProps/core2.xml");
-        try {
-            pkg.addRelationship(PackagingURIHelper.createPartName(partUri), 
TargetMode.INTERNAL,
-                    PackageRelationshipTypes.CORE_PROPERTIES);
-            // no longer fail on compliance error
-            //fail("expected OPC compliance exception was not thrown");
-        } catch (InvalidFormatException e) {
-            throw new RuntimeException(e);
-        } catch (InvalidOperationException e) {
-            // expected during successful test
+    public void testOnlyOneCorePropertiesPart_AddRelationship() throws 
IOException, InvalidFormatException {
+        try (InputStream is = 
openComplianceSampleStream("OPCCompliance_CoreProperties_OnlyOneCorePropertiesPart.docx"))
 {
+            OPCPackage pkg = OPCPackage.open(is);
+            URI partUri = createURI("/docProps/core2.xml");
+            InvalidOperationException e = 
assertThrows(InvalidOperationException.class, () ->
+                    
pkg.addRelationship(PackagingURIHelper.createPartName(partUri), 
TargetMode.INTERNAL, PackageRelationshipTypes.CORE_PROPERTIES),
+                "expected OPC compliance exception was not thrown"
+            );
             assertEquals("OPC Compliance error [M4.1]: can't add another core 
properties part ! Use the built-in package method instead.", e.getMessage());
+            pkg.revert();
         }
-        pkg.revert();
     }
 
     /**
      * Test M4.1 rule.
      */
     @Test
-    public void testOnlyOneCorePropertiesPart_AddPart() throws 
InvalidFormatException {
+    public void testOnlyOneCorePropertiesPart_AddPart() throws 
InvalidFormatException, IOException {
         String sampleFileName = 
"OPCCompliance_CoreProperties_OnlyOneCorePropertiesPart.docx";
-        OPCPackage pkg = 
OPCPackage.open(POIDataSamples.getOpenXML4JInstance().getFile(sampleFileName).getPath());
+        try (OPCPackage pkg = 
OPCPackage.open(POIDataSamples.getOpenXML4JInstance().getFile(sampleFileName).getPath()))
 {
 
-        URI partUri = createURI("/docProps/core2.xml");
-        try {
-            pkg.createPart(PackagingURIHelper.createPartName(partUri),
-                    ContentTypes.CORE_PROPERTIES_PART);
-            // no longer fail on compliance error
-            //fail("expected OPC compliance exception was not thrown");
-        } catch (InvalidOperationException e) {
-            // expected during successful test
+            URI partUri = createURI("/docProps/core2.xml");
+            InvalidOperationException e = 
assertThrows(InvalidOperationException.class, () ->
+                    pkg.createPart(PackagingURIHelper.createPartName(partUri), 
ContentTypes.CORE_PROPERTIES_PART),
+                "expected OPC compliance exception was not thrown");
             assertEquals("OPC Compliance error [M4.1]: you try to add more 
than one core properties relationship in the package !", e.getMessage());
+            pkg.revert();
         }
-        pkg.revert();
     }
 
     /**
      * Test M4.2 rule.
      */
     @Test
-    public void testDoNotUseCompatibilityMarkup() {
+    public void testDoNotUseCompatibilityMarkup() throws IOException {
         String msg = 
extractInvalidFormatMessage("DoNotUseCompatibilityMarkupFAIL.docx");
         assertEquals("OPC Compliance error [M4.2]: A format consumer shall 
consider the use of the Markup Compatibility namespace to be an error.", msg);
     }
@@ -205,7 +184,7 @@ public final class TestOPCComplianceCore
      * Test M4.3 rule.
      */
     @Test
-    public void testDCTermsNamespaceLimitedUse() {
+    public void testDCTermsNamespaceLimitedUse() throws IOException {
         String msg = 
extractInvalidFormatMessage("DCTermsNamespaceLimitedUseFAIL.docx");
         assertEquals("OPC Compliance error [M4.3]: Producers shall not create 
a document element that contains refinements to the Dublin Core elements, 
except for the two specified in the schema: <dcterms:created> and 
<dcterms:modified> Consumers shall consider a document element that violates 
this constraint to be an error.", msg);
     }
@@ -214,7 +193,7 @@ public final class TestOPCComplianceCore
      * Test M4.4 rule.
      */
     @Test
-    public void testUnauthorizedXMLLangAttribute() {
+    public void testUnauthorizedXMLLangAttribute() throws IOException {
         String msg = 
extractInvalidFormatMessage("UnauthorizedXMLLangAttributeFAIL.docx");
         assertEquals("OPC Compliance error [M4.4]: Producers shall not create 
a document element that contains the xml:lang attribute. Consumers shall 
consider a document element that violates this constraint to be an error.", 
msg);
     }
@@ -223,7 +202,7 @@ public final class TestOPCComplianceCore
      * Test M4.5 rule.
      */
     @Test
-    public void testLimitedXSITypeAttribute_NotPresent() {
+    public void testLimitedXSITypeAttribute_NotPresent() throws IOException {
         String msg = 
extractInvalidFormatMessage("LimitedXSITypeAttribute_NotPresentFAIL.docx");
         assertEquals("The element 'created' must have the 'xsi:type' attribute 
present !", msg);
     }
@@ -232,7 +211,7 @@ public final class TestOPCComplianceCore
      * Test M4.5 rule.
      */
     @Test
-    public void testLimitedXSITypeAttribute_PresentWithUnauthorizedValue() {
+    public void testLimitedXSITypeAttribute_PresentWithUnauthorizedValue() 
throws IOException {
         String msg = 
extractInvalidFormatMessage("LimitedXSITypeAttribute_PresentWithUnauthorizedValueFAIL.docx");
         assertEquals("The element 'modified' must have the 'xsi:type' 
attribute with the value 'dcterms:W3CDTF', but had 'W3CDTF' !", msg);
     }
@@ -244,45 +223,43 @@ public final class TestOPCComplianceCore
     @Test
     public void testNoCoreProperties_saveNew() throws Exception {
         String sampleFileName = "OPCCompliance_NoCoreProperties.xlsx";
-        OPCPackage pkg = 
OPCPackage.open(POIDataSamples.getOpenXML4JInstance().getFile(sampleFileName).getPath());
-
-        // Verify it has empty properties
-        assertEquals(0, 
pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size());
-        assertNotNull(pkg.getPackageProperties());
-        assertNotNull(pkg.getPackageProperties().getLanguageProperty());
-        
assertFalse(pkg.getPackageProperties().getLanguageProperty().isPresent());
-
-        // Save and re-load
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        pkg.save(baos);
-        ByteArrayInputStream bais = new 
ByteArrayInputStream(baos.toByteArray());
-        pkg.revert();
 
-        pkg = OPCPackage.open(bais);
+        try (OPCPackage pkg = 
OPCPackage.open(POIDataSamples.getOpenXML4JInstance().getFile(sampleFileName).getPath()))
 {
+            // Verify it has empty properties
+            assertEquals(0, 
pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size());
+            assertNotNull(pkg.getPackageProperties());
+            assertNotNull(pkg.getPackageProperties().getLanguageProperty());
+            
assertFalse(pkg.getPackageProperties().getLanguageProperty().isPresent());
+
+            // Save and re-load
+            pkg.save(baos);
+            pkg.revert();
+        }
 
-        // An Empty Properties part has been added in the save/load
-        assertEquals(1, 
pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size());
-        assertNotNull(pkg.getPackageProperties());
-        assertNotNull(pkg.getPackageProperties().getLanguageProperty());
-        
assertFalse(pkg.getPackageProperties().getLanguageProperty().isPresent());
-        pkg.close();
+        try (OPCPackage pkg = OPCPackage.open(new 
ByteArrayInputStream(baos.toByteArray()))) {
+            // An Empty Properties part has been added in the save/load
+            assertEquals(1, 
pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size());
+            assertNotNull(pkg.getPackageProperties());
+            assertNotNull(pkg.getPackageProperties().getLanguageProperty());
+            
assertFalse(pkg.getPackageProperties().getLanguageProperty().isPresent());
+        }
 
         // Open a new copy of it
-        pkg = 
OPCPackage.open(POIDataSamples.getOpenXML4JInstance().getFile(sampleFileName).getPath());
-
-        // Save and re-load, without having touched the properties yet
-        baos = new ByteArrayOutputStream();
-        pkg.save(baos);
-        pkg.revert();
-
-        bais = new ByteArrayInputStream(baos.toByteArray());
-        pkg = OPCPackage.open(bais);
+        try (OPCPackage pkg = 
OPCPackage.open(POIDataSamples.getOpenXML4JInstance().getFile(sampleFileName).getPath()))
 {
+            // Save and re-load, without having touched the properties yet
+            baos.reset();
+            pkg.save(baos);
+            pkg.revert();
+        }
 
-        // Check that this too added empty properties without error
-        assertEquals(1, 
pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size());
-        assertNotNull(pkg.getPackageProperties());
-        assertNotNull(pkg.getPackageProperties().getLanguageProperty());
-        
assertFalse(pkg.getPackageProperties().getLanguageProperty().isPresent());
+        try (OPCPackage pkg = OPCPackage.open(new 
ByteArrayInputStream(baos.toByteArray()))) {
+            // Check that this too added empty properties without error
+            assertEquals(1, 
pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size());
+            assertNotNull(pkg.getPackageProperties());
+            assertNotNull(pkg.getPackageProperties().getLanguageProperty());
+            
assertFalse(pkg.getPackageProperties().getLanguageProperty().isPresent());
+        }
     }
 
     /**
@@ -295,37 +272,34 @@ public final class TestOPCComplianceCore
 
         // Copy this into a temp file, so we can play with it
         File tmp = TempFile.createTempFile("poi-test", ".opc");
-        FileOutputStream out = new FileOutputStream(tmp);
-        InputStream in = 
POIDataSamples.getOpenXML4JInstance().openResourceAsStream(sampleFileName);
-        IOUtils.copy(
-                in,
-                out);
-        out.close();
-        in.close();
+        try (FileOutputStream out = new FileOutputStream(tmp);
+            InputStream in = 
POIDataSamples.getOpenXML4JInstance().openResourceAsStream(sampleFileName)) {
+            IOUtils.copy(in, out);
+        }
 
         // Open it from that temp file
-        OPCPackage pkg = OPCPackage.open(tmp);
+        try (OPCPackage pkg = OPCPackage.open(tmp)) {
 
-        // Empty properties
-        assertEquals(0, 
pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size());
-        assertNotNull(pkg.getPackageProperties());
-        assertNotNull(pkg.getPackageProperties().getLanguageProperty());
-        
assertFalse(pkg.getPackageProperties().getLanguageProperty().isPresent());
+            // Empty properties
+            assertEquals(0, 
pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size());
+            assertNotNull(pkg.getPackageProperties());
+            assertNotNull(pkg.getPackageProperties().getLanguageProperty());
+            
assertFalse(pkg.getPackageProperties().getLanguageProperty().isPresent());
 
-        // Save and close
-        pkg.close();
+            // Save and close
+        }
 
         // Re-open and check
-        pkg = OPCPackage.open(tmp);
-
-        // An Empty Properties part has been added in the save/load
-        assertEquals(1, 
pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size());
-        assertNotNull(pkg.getPackageProperties());
-        assertNotNull(pkg.getPackageProperties().getLanguageProperty());
-        
assertFalse(pkg.getPackageProperties().getLanguageProperty().isPresent());
+        try (OPCPackage pkg = OPCPackage.open(tmp)) {
+            // An Empty Properties part has been added in the save/load
+            assertEquals(1, 
pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size());
+            assertNotNull(pkg.getPackageProperties());
+            assertNotNull(pkg.getPackageProperties().getLanguageProperty());
+            
assertFalse(pkg.getPackageProperties().getLanguageProperty().isPresent());
 
-        // Finish and tidy
-        pkg.revert();
+            // Finish and tidy
+            pkg.revert();
+        }
         assertTrue(tmp.delete());
     }
 }

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCCompliancePackageModel.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCCompliancePackageModel.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCCompliancePackageModel.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCCompliancePackageModel.java
 Thu Dec 24 18:42:29 2020
@@ -17,8 +17,10 @@
 
 package org.apache.poi.openxml4j.opc.compliance;
 
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import java.io.File;
 import java.io.IOException;
 
 import org.apache.poi.POIDataSamples;
@@ -31,42 +33,50 @@ import org.apache.poi.openxml4j.opc.Pack
 import org.apache.poi.openxml4j.opc.PackageRelationshipTypes;
 import org.apache.poi.openxml4j.opc.PackagingURIHelper;
 import org.apache.poi.openxml4j.opc.TargetMode;
-import org.junit.Test;
+import org.apache.poi.util.TempFile;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test Open Packaging Convention package model compliance.
  *
  * M1.11 : A package implementer shall neither create nor recognize a part with
  * a part name derived from another part name by appending segments to it.
- *
- * @author Julien Chable
  */
 public class TestOPCCompliancePackageModel {
 
+    private static File TESTFILE;
+
+    @BeforeAll
+    public static void setup() throws IOException {
+        TESTFILE = TempFile.createTempFile("TODELETEIFEXIST", ".docx");
+    }
+
+    @BeforeEach
+    public void tearDown() {
+        if (TESTFILE.exists()) {
+            assertTrue(TESTFILE.delete());
+        }
+    }
+
     /**
      * A package implementer shall neither create nor recognize a part with a
      * part name derived from another part name by appending segments to it.
      * [M1.11]
      */
     @Test
-    public void testPartNameDerivationAdditionFailure() {
-        OPCPackage pkg = OPCPackage.create("TODELETEIFEXIST.docx");
-        try {
-            PackagePartName name = PackagingURIHelper
-                    .createPartName("/word/document.xml");
-            PackagePartName nameDerived = PackagingURIHelper
-                    .createPartName("/word/document.xml/image1.gif");
+    public void testPartNameDerivationAdditionFailure() throws 
InvalidFormatException, IOException {
+        try (OPCPackage pkg = OPCPackage.create(TESTFILE)) {
+            PackagePartName name = 
PackagingURIHelper.createPartName("/word/document.xml");
+            PackagePartName nameDerived = 
PackagingURIHelper.createPartName("/word/document.xml/image1.gif");
             pkg.createPart(name, ContentTypes.XML);
-            pkg.createPart(nameDerived, ContentTypes.EXTENSION_GIF);
-        } catch (InvalidOperationException e) {
+
+            assertThrows(InvalidOperationException.class, () -> 
pkg.createPart(nameDerived, ContentTypes.EXTENSION_GIF),
+                "A package implementer shall neither create nor recognize a 
part with a part name derived from another " +
+                "part name by appending segments to it. [M1.11]");
             pkg.revert();
-            return;
-        } catch (InvalidFormatException e) {
-            fail(e.getMessage());
         }
-        fail("A package implementer shall neither create nor recognize a part 
with a"
-                + " part name derived from another part name by appending 
segments to it."
-                + " [M1.11]");
     }
 
     /**
@@ -75,16 +85,13 @@ public class TestOPCCompliancePackageMod
      * [M1.11]
      */
     @Test
-    public void testPartNameDerivationReadingFailure() throws IOException {
+    public void testPartNameDerivationReadingFailure() {
         String filename = "OPCCompliance_DerivedPartNameFAIL.docx";
-        try {
-            
OPCPackage.open(POIDataSamples.getOpenXML4JInstance().openResourceAsStream(filename));
-        } catch (InvalidFormatException e) {
-            return;
-        }
-        fail("A package implementer shall neither create nor recognize a part 
with a"
-                + " part name derived from another part name by appending 
segments to it."
-                + " [M1.11]");
+        assertThrows(InvalidFormatException.class, () ->
+            
OPCPackage.open(POIDataSamples.getOpenXML4JInstance().openResourceAsStream(filename)),
+            "A package implementer shall neither create nor recognize a part 
with a part name derived from another" +
+            " part name by appending segments to it. [M1.11]"
+        );
     }
 
     /**
@@ -94,22 +101,17 @@ public class TestOPCCompliancePackageMod
      */
     @Test
     public void testAddPackageAlreadyAddFailure() throws Exception {
-        OPCPackage pkg = OPCPackage.create("DELETEIFEXISTS.docx");
-        PackagePartName name1 = null;
-        PackagePartName name2 = null;
-        try {
-            name1 = PackagingURIHelper.createPartName("/word/document.xml");
-            name2 = PackagingURIHelper.createPartName("/word/document.xml");
-        } catch (InvalidFormatException e) {
-            throw new Exception(e.getMessage());
-        }
-        pkg.createPart(name1, ContentTypes.XML);
-        try {
-            pkg.createPart(name2, ContentTypes.XML);
-        } catch (PartAlreadyExistsException e) {
-            return;
+        try (OPCPackage pkg = OPCPackage.create(TESTFILE)) {
+            PackagePartName name1 = 
PackagingURIHelper.createPartName("/word/document.xml");
+            PackagePartName name2 = 
PackagingURIHelper.createPartName("/word/document.xml");
+
+            pkg.createPart(name1, ContentTypes.XML);
+            assertThrows(PartAlreadyExistsException.class, () -> 
pkg.createPart(name2, ContentTypes.XML),
+                "Packages shall not contain equivalent part names and package 
implementers shall neither create nor " +
+                    "recognize packages with equivalent part names. [M1.12]"
+            );
+            pkg.revert();
         }
-        fail("Packages shall not contain equivalent part names and package 
implementers shall neither create nor recognize packages with equivalent part 
names. [M1.12]");
     }
 
     /**
@@ -119,20 +121,15 @@ public class TestOPCCompliancePackageMod
      */
     @Test
     public void testAddPackageAlreadyAddFailure2() throws Exception {
-        OPCPackage pkg = OPCPackage.create("DELETEIFEXISTS.docx");
-        PackagePartName partName = null;
-        try {
-            partName = PackagingURIHelper.createPartName("/word/document.xml");
-        } catch (InvalidFormatException e) {
-            throw new Exception(e.getMessage());
-        }
-        pkg.createPart(partName, ContentTypes.XML);
-        try {
+        try (OPCPackage pkg = OPCPackage.create(TESTFILE)) {
+            PackagePartName partName = 
PackagingURIHelper.createPartName("/word/document.xml");
             pkg.createPart(partName, ContentTypes.XML);
-        } catch (InvalidOperationException e) {
-            return;
+            assertThrows(InvalidOperationException.class, () -> 
pkg.createPart(partName, ContentTypes.XML),
+                "Packages shall not contain equivalent part names and package 
implementers shall neither create nor " +
+                    "recognize packages with equivalent part names. [M1.12]"
+            );
+            pkg.revert();
         }
-        fail("Packages shall not contain equivalent part names and package 
implementers shall neither create nor recognize packages with equivalent part 
names. [M1.12]");
     }
 
     /**
@@ -144,22 +141,15 @@ public class TestOPCCompliancePackageMod
      * relationship as invalid.
      */
     @Test
-    public void testAddRelationshipRelationshipsPartFailure() {
-        OPCPackage pkg = OPCPackage.create("DELETEIFEXISTS.docx");
-        PackagePartName name1 = null;
-        try {
-            name1 = PackagingURIHelper
-                    .createPartName("/test/_rels/document.xml.rels");
-        } catch (InvalidFormatException e) {
-            fail("This exception should never happen !");
-        }
-
-        try {
-            pkg.addRelationship(name1, TargetMode.INTERNAL,
-                    PackageRelationshipTypes.CORE_DOCUMENT);
-        } catch (InvalidOperationException e) {
-            return;
+    public void testAddRelationshipRelationshipsPartFailure() throws 
IOException, InvalidFormatException {
+        try (OPCPackage pkg = OPCPackage.create(TESTFILE)) {
+            PackagePartName name1 = 
PackagingURIHelper.createPartName("/test/_rels/document.xml.rels");
+
+            assertThrows(InvalidOperationException.class,
+                () -> pkg.addRelationship(name1, TargetMode.INTERNAL, 
PackageRelationshipTypes.CORE_DOCUMENT),
+                "The Relationships part shall not have relationships to any 
other part [M1.25]"
+            );
+            pkg.revert();
         }
-        fail("Fail test -> M1.25: The Relationships part shall not have 
relationships to any other part");
     }
 }

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCCompliancePartName.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCCompliancePartName.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCCompliancePartName.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCCompliancePartName.java
 Thu Dec 24 18:42:29 2020
@@ -17,19 +17,20 @@
 
 package org.apache.poi.openxml4j.opc.compliance;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.apache.poi.openxml4j.opc.PackagingURIHelper.createPartName;
+import static org.apache.poi.openxml4j.opc.PackagingURIHelper.isValidPartName;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.net.URI;
 import java.net.URISyntaxException;
 
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.poi.openxml4j.opc.PackagePartName;
-import org.apache.poi.openxml4j.opc.PackagingURIHelper;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test part name Open Packaging Convention compliance.
@@ -100,8 +101,7 @@ public final class TestOPCCompliancePart
                 assertEquals("[Content_Types].xml", s);
                 continue;
             }
-            assertFalse("This part name SHOULD NOT be valid: " + s,
-                    PackagingURIHelper.isValidPartName(uri));
+            assertFalse(isValidPartName(uri), "This part name SHOULD NOT be 
valid: " + s);
         }
     }
 
@@ -110,24 +110,19 @@ public final class TestOPCCompliancePart
      */
     @Test
     public void testValidPartNames() throws URISyntaxException {
-        String[] validNames = { "/xml/item1.xml", "/document.xml",
-                "/a/%D1%86.xml" };
-        for (String s : validNames)
-            assertTrue("This part name SHOULD be valid: " + s,
-                    PackagingURIHelper.isValidPartName(new URI(s)));
+        String[] validNames = { "/xml/item1.xml", "/document.xml", 
"/a/%D1%86.xml" };
+        for (String s : validNames) {
+            assertTrue(isValidPartName(new URI(s)), "This part name SHOULD be 
valid: " + s);
+        }
     }
 
     /**
      * A part name shall not be empty. [M1.1]
      */
     @Test
-    public void testEmptyPartNameFailure() throws URISyntaxException {
-        try {
-            PackagingURIHelper.createPartName(new URI(""));
-            fail("A part name shall not be empty. [M1.1]");
-        } catch (InvalidFormatException e) {
-            // Normal behaviour
-        }
+    public void testEmptyPartNameFailure() {
+        assertThrows(InvalidFormatException.class, () -> createPartName(new 
URI("")),
+            "A part name shall not be empty. [M1.1]");
     }
 
     /**
@@ -138,18 +133,13 @@ public final class TestOPCCompliancePart
      * A segment shall include at least one non-dot character. [M1.10]
      */
     @Test
-    public void testPartNameWithInvalidSegmentsFailure() {
+    public void testPartNameWithInvalidSegmentsFailure() throws 
URISyntaxException {
         String[] invalidNames = { "//document.xml", "//word/document.xml",
                 "/word//document.rels", "/word//rels//document.rels",
                 "/xml./doc.xml", "/document.", "/./document.xml",
                 "/word/./doc.rels", "/%2F/document.xml" };
-        try {
-            for (String s : invalidNames)
-                assertFalse(
-                        "A part name shall not have empty segments. [M1.3]",
-                        PackagingURIHelper.isValidPartName(new URI(s)));
-        } catch (URISyntaxException e) {
-            fail();
+        for (String s : invalidNames) {
+            assertFalse(isValidPartName(new URI(s)), "A part name shall not 
have empty segments. [M1.3]");
         }
     }
 
@@ -158,16 +148,11 @@ public final class TestOPCCompliancePart
      * [M1.6].
      */
     @Test
-    public void testPartNameWithNonPCharCharacters() {
+    public void testPartNameWithNonPCharCharacters() throws URISyntaxException 
{
         String[] validNames = { "/doc&.xml" };
-        try {
-            for (String s : validNames)
-                assertTrue(
-                        "A segment shall not contain non pchar characters 
[M1.6] : "
-                                + s, PackagingURIHelper
-                                .isValidPartName(new URI(s)));
-        } catch (URISyntaxException e) {
-            fail();
+        for (String s : validNames) {
+            assertTrue(isValidPartName(new URI(s)),
+                "A segment shall not contain non pchar characters [M1.6] : " + 
s);
         }
     }
 
@@ -175,16 +160,10 @@ public final class TestOPCCompliancePart
      * A segment shall not contain percent-encoded unreserved characters 
[M1.8].
      */
     @Test
-    public void testPartNameWithUnreservedEncodedCharactersFailure() {
+    public void testPartNameWithUnreservedEncodedCharactersFailure() throws 
URISyntaxException {
         String[] invalidNames = { "/a/docum%65nt.xml" };
-        try {
-            for (String s : invalidNames)
-                assertFalse(
-                        "A segment shall not contain percent-encoded 
unreserved characters [M1.8] : "
-                                + s, PackagingURIHelper
-                                .isValidPartName(new URI(s)));
-        } catch (URISyntaxException e) {
-            fail();
+        for (String s : invalidNames) {
+            assertFalse(isValidPartName(new URI(s)), "A segment shall not 
contain percent-encoded unreserved characters [M1.8] : " + s);
         }
     }
 
@@ -192,28 +171,18 @@ public final class TestOPCCompliancePart
      * A part name shall start with a forward slash ('/') character. [M1.4]
      */
     @Test
-    public void testPartNameStartsWithAForwardSlashFailure()
-            throws URISyntaxException {
-        try {
-            PackagingURIHelper.createPartName(new URI("document.xml"));
-            fail("A part name shall start with a forward slash ('/') 
character. [M1.4]");
-        } catch (InvalidFormatException e) {
-            // Normal behaviour
-        }
+    public void testPartNameStartsWithAForwardSlashFailure() {
+        assertThrows(InvalidFormatException.class, () -> createPartName(new 
URI("document.xml")),
+            "A part name shall start with a forward slash ('/') character. 
[M1.4]");
     }
 
     /**
      * A part name shall not have a forward slash as the last character. [M1.5]
      */
     @Test
-    public void testPartNameEndsWithAForwardSlashFailure()
-            throws URISyntaxException {
-        try {
-            PackagingURIHelper.createPartName(new URI("/document.xml/"));
-            fail("A part name shall not have a forward slash as the last 
character. [M1.5]");
-        } catch (InvalidFormatException e) {
-            // Normal behaviour
-        }
+    public void testPartNameEndsWithAForwardSlashFailure() {
+        assertThrows(InvalidFormatException.class, () -> createPartName(new 
URI("/document.xml/")),
+            "A part name shall not have a forward slash as the last character. 
[M1.5]");
     }
 
     /**
@@ -225,8 +194,8 @@ public final class TestOPCCompliancePart
         String[] partName1 = { "/word/document.xml", "/docProps/core.xml", 
"/rels/.rels" };
         String[] partName2 = { "/WORD/DocUment.XML", "/docProps/core.xml", 
"/rels/.rels" };
         for (int i = 0; i < partName1.length || i < partName2.length; ++i) {
-            PackagePartName p1 = 
PackagingURIHelper.createPartName(partName1[i]);
-            PackagePartName p2 = 
PackagingURIHelper.createPartName(partName2[i]);
+            PackagePartName p1 = createPartName(partName1[i]);
+            PackagePartName p2 = createPartName(partName2[i]);
             assertEquals(p1, p2);
             assertEquals(0, p1.compareTo(p2));
             assertEquals(p1.hashCode(), p2.hashCode());
@@ -244,8 +213,8 @@ public final class TestOPCCompliancePart
         String[] partName1 = { "/word/document.xml", "/docProps/core.xml", 
"/rels/.rels" };
         String[] partName2 = { "/WORD/DocUment.XML2", "/docProp/core.xml", 
"/rels/rels" };
         for (int i = 0; i < partName1.length || i < partName2.length; ++i) {
-            PackagePartName p1 = 
PackagingURIHelper.createPartName(partName1[i]);
-            PackagePartName p2 = 
PackagingURIHelper.createPartName(partName2[i]);
+            PackagePartName p1 = createPartName(partName1[i]);
+            PackagePartName p2 = createPartName(partName2[i]);
             assertNotEquals(p1, p2);
             assertNotEquals(0, p1.compareTo(p2));
             assertNotEquals(p1.hashCode(), p2.hashCode());

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/internal/TestContentTypeManager.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/internal/TestContentTypeManager.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/internal/TestContentTypeManager.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/internal/TestContentTypeManager.java
 Thu Dec 24 18:42:29 2020
@@ -17,9 +17,8 @@
 
 package org.apache.poi.openxml4j.opc.internal;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -47,8 +46,8 @@ import org.apache.poi.xssf.usermodel.XSS
 import org.apache.poi.xssf.usermodel.XSSFShape;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
 import 
org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTTwoCellAnchor;
 
@@ -127,11 +126,10 @@ public final class TestContentTypeManage
     /**
      * Test the addition then removal of content types in a package.
      */
-    @Ignore
+    @Disabled
     @Test
     public void testContentTypeRemovalPackage() {
         // TODO
-        fail("test not written");
     }
 
     protected byte[] toByteArray(Workbook wb) {

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/internal/marshallers/TestZipPackagePropertiesMarshaller.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/internal/marshallers/TestZipPackagePropertiesMarshaller.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/internal/marshallers/TestZipPackagePropertiesMarshaller.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/internal/marshallers/TestZipPackagePropertiesMarshaller.java
 Thu Dec 24 18:42:29 2020
@@ -18,7 +18,8 @@
 package org.apache.poi.openxml4j.opc.internal.marshallers;
 
 import static 
org.apache.poi.openxml4j.opc.PackagingURIHelper.PACKAGE_RELATIONSHIPS_ROOT_URI;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -27,40 +28,45 @@ import java.io.OutputStream;
 import org.apache.commons.compress.archivers.ArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
 import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
+import org.apache.poi.openxml4j.opc.PackagePartName;
 import org.apache.poi.openxml4j.opc.PackagingURIHelper;
 import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
 import org.apache.poi.openxml4j.opc.internal.PartMarshaller;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 public class TestZipPackagePropertiesMarshaller {
-    private PartMarshaller marshaller = new ZipPackagePropertiesMarshaller();
+    private final PartMarshaller marshaller = new 
ZipPackagePropertiesMarshaller();
 
-    @Test(expected=IllegalArgumentException.class)
-    public void nonZipOutputStream() throws OpenXML4JException {
-        OutputStream notAZipOutputStream = new ByteArrayOutputStream(0);
-        marshaller.marshall(null, notAZipOutputStream);
+    private boolean marshall() throws OpenXML4JException {
+        return marshall(new ZipArchiveOutputStream(new 
ByteArrayOutputStream()));
+    }
+
+    private boolean marshall(OutputStream zos) throws OpenXML4JException {
+        PackagePartName rootUri = 
PackagingURIHelper.createPartName(PACKAGE_RELATIONSHIPS_ROOT_URI);
+        PackagePropertiesPart part = new PackagePropertiesPart(null, rootUri);
+        return marshaller.marshall(part, zos);
     }
 
+
     @Test
-    public void withZipOutputStream() throws Exception {
-        assertTrue(marshaller.marshall(new PackagePropertiesPart(null, 
PackagingURIHelper.createPartName(PACKAGE_RELATIONSHIPS_ROOT_URI)),
-                new ZipArchiveOutputStream(new ByteArrayOutputStream())));
+    public void nonZipOutputStream() {
+        OutputStream notAZipOutputStream = new ByteArrayOutputStream(0);
+        assertThrows(IllegalArgumentException.class, () -> 
marshall(notAZipOutputStream));
     }
 
     @Test
-    public void writingFails() throws Exception {
-        assertTrue(marshaller.marshall(new PackagePropertiesPart(null, 
PackagingURIHelper.createPartName(PACKAGE_RELATIONSHIPS_ROOT_URI)),
-                new ZipArchiveOutputStream(new ByteArrayOutputStream())));
+    public void withZipOutputStream() throws Exception {
+        assertTrue(marshall());
     }
 
-    @Test(expected=OpenXML4JException.class)
+    @Test
     public void ioException() throws Exception {
-        marshaller.marshall(new PackagePropertiesPart(null, 
PackagingURIHelper.createPartName(PACKAGE_RELATIONSHIPS_ROOT_URI)),
-                new ZipArchiveOutputStream(new ByteArrayOutputStream()) {
-                    @Override
-                    public void putArchiveEntry(final ArchiveEntry 
archiveEntry) throws IOException {
-                        throw new IOException("TestException");
-                    }
-                });
+        ZipArchiveOutputStream zos = new ZipArchiveOutputStream(new 
ByteArrayOutputStream()) {
+            @Override
+            public void putArchiveEntry(final ArchiveEntry archiveEntry) 
throws IOException {
+                throw new IOException("TestException");
+            }
+        };
+        assertThrows(OpenXML4JException.class, () -> marshall(zos));
     }
 }

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/util/TestZipSecureFile.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/util/TestZipSecureFile.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/util/TestZipSecureFile.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/util/TestZipSecureFile.java
 Thu Dec 24 18:42:29 2020
@@ -20,12 +20,12 @@ import org.apache.commons.compress.archi
 import org.apache.commons.compress.archivers.zip.ZipFile;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.xssf.XSSFTestDataSamples;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import java.io.InputStream;
 import java.util.Enumeration;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class TestZipSecureFile {
     @Test

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureConfig.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureConfig.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureConfig.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureConfig.java
 Thu Dec 24 18:42:29 2020
@@ -16,26 +16,26 @@
 ==================================================================== */
 package org.apache.poi.poifs.crypt.dsig;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.io.IOException;
 import java.util.Base64;
 
 import org.apache.poi.poifs.crypt.HashAlgorithm;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 
 public class TestSignatureConfig {
-    
+
     @Test
-    @Ignore("failing in automated builds, due to issues loading security 
classes")
+    @Disabled("failing in automated builds, due to issues loading security 
classes")
     public void testDigestAlgo() throws Exception {
         SignatureConfig sc = new SignatureConfig();
         assertEquals(HashAlgorithm.sha256, sc.getDigestAlgo());
         sc.setDigestAlgo(HashAlgorithm.sha1);
         assertEquals(HashAlgorithm.sha1, sc.getDigestAlgo());
     }
-    
+
     @Test
     public void testHashOids() throws IOException {
         final String[][] checks = {
@@ -53,7 +53,7 @@ public class TestSignatureConfig {
             final HashAlgorithm ha = HashAlgorithm.valueOf(check[0]);
             try (final DigestOutputStream dos = new DigestOutputStream(ha, 
null)) {
                 final String magic = 
Base64.getEncoder().encodeToString(dos.getHashMagic());
-                assertEquals("hash digest magic mismatches", check[1], magic);
+                assertEquals(check[1], magic, "hash digest magic mismatches");
             }
         }
     }

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java?rev=1884783&r1=1884782&r2=1884783&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java
 Thu Dec 24 18:42:29 2020
@@ -23,11 +23,12 @@
    ================================================================= */
 package org.apache.poi.poifs.crypt.dsig;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assume.assumeTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeFalse;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
 import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
@@ -152,11 +153,10 @@ import org.bouncycastle.operator.jcajce.
 import org.bouncycastle.operator.jcajce.JcaDigestCalculatorProviderBuilder;
 import org.etsi.uri.x01903.v13.DigestAlgAndValueType;
 import org.etsi.uri.x01903.v13.QualifyingPropertiesType;
-import org.junit.AfterClass;
-import org.junit.Assume;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
 import org.w3.x2000.x09.xmldsig.ReferenceType;
 import org.w3.x2000.x09.xmldsig.SignatureDocument;
 import org.w3c.dom.Document;
@@ -169,12 +169,12 @@ public class TestSignatureInfo {
     private KeyPair keyPair;
     private X509Certificate x509;
 
-    @AfterClass
+    @AfterAll
     public static void removeUserLocale() {
         LocaleUtil.resetUserLocale();
     }
 
-    @BeforeClass
+    @BeforeAll
     public static void initBouncy() {
         CryptoFunctions.registerBouncyCastle();
 
@@ -189,8 +189,8 @@ public class TestSignatureInfo {
         // in the xmlsec jar file
         String additionalJar = System.getProperty("additionaljar");
         //System.out.println("Having: " + additionalJar);
-        Assume.assumeTrue("Not running TestSignatureInfo because we are 
testing with additionaljar set to " + additionalJar,
-                          additionalJar == null || 
additionalJar.trim().length() == 0);
+        assumeTrue(additionalJar == null || additionalJar.trim().length() == 0,
+            "Not running TestSignatureInfo because we are testing with 
additionaljar set to " + additionalJar);
 
         System.setProperty("org.apache.xml.security.ignoreLineBreaks", "true");
 
@@ -198,7 +198,7 @@ public class TestSignatureInfo {
         // System.setProperty("line.separator", "\n");
     }
 
-    @Ignore("This test is very sensitive, it breaks with every little change 
to the produced XML")
+    @Disabled("This test is very sensitive, it breaks with every little change 
to the produced XML")
     @Test
     public void bug61182() throws Exception {
         final String pfxInput =
@@ -277,7 +277,7 @@ public class TestSignatureInfo {
             // separator set to the various system configurations
             String sep = SystemProperties.getProperty("line.separator");
             String signExp;
-            assumeTrue("Hashes only known for Windows/Unix/Mac", sep == null 
|| "\n".equals(sep) || "\r\n".equals(sep) || "\r".equals(sep));
+            assumeTrue(sep == null || "\n".equals(sep) || "\r\n".equals(sep) 
|| "\r".equals(sep), "Hashes only known for Windows/Unix/Mac");
             signExp = (sep == null || "\n".equals(sep)) ? unixSignExp : 
("\r\n".equals(sep)) ? winSignExp : macSignExp;
 
             String signAct = si.getSignatureParts().iterator().next().
@@ -355,12 +355,12 @@ public class TestSignatureInfo {
                 }
 
                 assertNotNull(result);
-                assertEquals("test-file: " + testFile, 1, result.size());
+                assertEquals(1, result.size(), "test-file: " + testFile);
                 X509Certificate signer = result.get(0);
                 LOG.log(POILogger.DEBUG, "signer: ", 
signer.getSubjectX500Principal());
 
                 boolean b = si.verifySignature();
-                assertTrue("test-file: " + testFile, b);
+                assertTrue(b, "test-file: " + testFile);
                 pkg.revert();
             }
         }
@@ -382,14 +382,14 @@ public class TestSignatureInfo {
             }
 
             assertNotNull(result);
-            assertEquals("test-file: " + testFile, 2, result.size());
+            assertEquals(2, result.size(), "test-file: " + testFile);
             X509Certificate signer1 = result.get(0);
             X509Certificate signer2 = result.get(1);
             LOG.log(POILogger.DEBUG, "signer 1: ", 
signer1.getSubjectX500Principal());
             LOG.log(POILogger.DEBUG, "signer 2: ", 
signer2.getSubjectX500Principal());
 
             boolean b = si.verifySignature();
-            assertTrue("test-file: " + testFile, b);
+            assertTrue(b, "test-file: " + testFile);
             pkg.revert();
         }
     }
@@ -433,7 +433,7 @@ public class TestSignatureInfo {
                 si.setOpcPackage(pkg);
                 si.setSignatureConfig(sic);
                 boolean b = si.verifySignature();
-                assertFalse("signature should be broken", b);
+                assertFalse(b, "signature should be broken");
             }
         }
     }
@@ -555,21 +555,21 @@ public class TestSignatureInfo {
                     throw e;
                 }
                 if ((e.getCause() instanceof ConnectException) || 
(e.getCause() instanceof SocketTimeoutException)) {
-                    Assume.assumeFalse("Only allowing ConnectException with 
'timed out' as message here, but had: " + e,
-                                       
e.getCause().getMessage().contains("timed out"));
+                    assumeFalse(e.getCause().getMessage().contains("timed 
out"),
+                        "Only allowing ConnectException with 'timed out' as 
message here, but had: " + e);
                 } else if (e.getCause() instanceof IOException) {
-                    Assume.assumeFalse("Only allowing IOException with 'Error 
contacting TSP server' as message here, but had: " + e,
-                                       
e.getCause().getMessage().contains("Error contacting TSP server"));
+                    assumeFalse(e.getCause().getMessage().contains("Error 
contacting TSP server"),
+                        "Only allowing IOException with 'Error contacting TSP 
server' as message here, but had: " + e);
                 } else if (e.getCause() instanceof RuntimeException) {
-                    Assume.assumeFalse("Only allowing RuntimeException with 
'This site is cur' as message here, but had: " + e,
-                                       
e.getCause().getMessage().contains("This site is cur"));
+                    assumeFalse(e.getCause().getMessage().contains("This site 
is cur"),
+                        "Only allowing RuntimeException with 'This site is 
cur' as message here, but had: " + e);
                 }
                 throw e;
             }
 
             // verify
             Iterator<SignaturePart> spIter = si.getSignatureParts().iterator();
-            assertTrue("Had: " + 
pkg.getRelationshipsByType(PackageRelationshipTypes.DIGITAL_SIGNATURE_ORIGIN), 
spIter.hasNext());
+            assertTrue(spIter.hasNext(), "Had: " + 
pkg.getRelationshipsByType(PackageRelationshipTypes.DIGITAL_SIGNATURE_ORIGIN));
             SignaturePart sp = spIter.next();
             boolean valid = sp.validate();
             assertTrue(valid);
@@ -697,9 +697,9 @@ public class TestSignatureInfo {
             si.confirmSignature();
 
             for (SignaturePart sp : si.getSignatureParts()) {
-                assertTrue("Could not validate", sp.validate());
+                assertTrue(sp.validate(), "Could not validate");
                 X509Certificate signer = sp.getSigner();
-                assertNotNull("signer undefined?!", signer);
+                assertNotNull(signer, "signer undefined?!");
                 List<X509Certificate> certChainRes = sp.getCertChain();
 
                 // IBM JDK is still buggy, even after fix for APAR IJ21985
@@ -731,9 +731,9 @@ public class TestSignatureInfo {
 
                 si.confirmSignature();
                 boolean b = si.verifySignature();
-                assertTrue("Signature not correctly calculated for " + ha, b);
+                assertTrue(b, "Signature not correctly calculated for " + ha);
             } catch (EncryptedDocumentException e) {
-                Assume.assumeTrue(e.getMessage().startsWith("Export 
Restrictions"));
+                assumeTrue(e.getMessage().startsWith("Export Restrictions"));
             }
         }
     }
@@ -758,7 +758,7 @@ public class TestSignatureInfo {
                 si.setOpcPackage(pkg);
                 si.setSignatureConfig(signatureConfig);
                 si.confirmSignature();
-                assertTrue("invalid signature", si.verifySignature());
+                assertTrue(si.verifySignature(), "invalid signature");
             }
         }
     }
@@ -1087,7 +1087,7 @@ public class TestSignatureInfo {
         // in the Sonar Maven runs where we are at a different source directory
         File buildDir = new File("build");
         if(!buildDir.exists()) {
-            assertTrue("Failed to create " + buildDir.getAbsolutePath(), 
buildDir.mkdirs());
+            assertTrue(buildDir.mkdirs(), "Failed to create " + 
buildDir.getAbsolutePath());
         }
         File tmpFile = new File(buildDir, "sigtest"+extension);
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org
For additional commands, e-mail: commits-h...@poi.apache.org

Reply via email to