]> source.dussan.org Git - poi.git/commitdiff
add disabled test for corrupt file
authorPJ Fanning <fanningpj@apache.org>
Fri, 19 Mar 2021 21:07:52 +0000 (21:07 +0000)
committerPJ Fanning <fanningpj@apache.org>
Fri, 19 Mar 2021 21:07:52 +0000 (21:07 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887827 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/testcases/org/apache/poi/hsmf/TestBasics.java

index a0a3d9fab7bf9d3c177843c85df1ab5ba8e5c352..ce219e3e04921fca3283ade715fb170ff01c213b 100644 (file)
@@ -19,21 +19,21 @@ package org.apache.poi.hsmf;
 
 import static org.apache.poi.POITestCase.assertContains;
 import static org.apache.poi.POITestCase.assertStartsWith;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-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.*;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import java.io.IOException;
 
 import org.apache.poi.POIDataSamples;
+import org.apache.poi.hsmf.datatypes.AttachmentChunks;
+import org.apache.poi.hsmf.datatypes.DirectoryChunk;
 import org.apache.poi.hsmf.exceptions.ChunkNotFoundException;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 /**
- * Tests to verify that we can perform basic opperations on
+ * Tests to verify that we can perform basic operations on
  *  a range of files
  */
 public final class TestBasics {
@@ -241,4 +241,28 @@ public final class TestBasics {
       chinese.guess7BitEncoding();
       assertEquals("cp950", chinese.getRecipientDetailsChunks()[0].getRecipientDisplayNameChunk().get7BitEncoding());
    }
+
+   @Disabled(value = "expected to fail")
+   @Test
+   void testCorruptFile() throws Exception {
+      POIDataSamples testData = POIDataSamples.getPOIFSInstance();
+      try(MAPIMessage mapi = new MAPIMessage(testData.openResourceAsStream("unknown_properties.msg"))) {
+         assertNotNull(mapi.getAttachmentFiles());
+         assertNotNull(mapi.getDisplayBCC());
+         assertNotNull(mapi.getMessageDate());
+
+         AttachmentChunks[] attachments = mapi.getAttachmentFiles();
+
+         for(AttachmentChunks attachment : attachments) {
+
+            DirectoryChunk chunkDirectory = attachment.getAttachmentDirectory();
+            if(chunkDirectory != null) {
+               MAPIMessage attachmentMSG = chunkDirectory.getAsEmbeddedMessage();
+               assertNotNull(attachmentMSG);
+               String body = attachmentMSG.getTextBody();
+               assertNotNull(body);
+            }
+         }
+      }
+   }
 }