Browse Source

test issues

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1894225 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_5_2_0
PJ Fanning 2 years ago
parent
commit
82bdcefce9

+ 25
- 12
poi-ooxml/src/test/java/org/apache/poi/openxml4j/opc/TestPackage.java View File

import org.apache.poi.extractor.ExtractorFactory; import org.apache.poi.extractor.ExtractorFactory;
import org.apache.poi.extractor.POITextExtractor; import org.apache.poi.extractor.POITextExtractor;
import org.apache.poi.ooxml.POIXMLException; import org.apache.poi.ooxml.POIXMLException;
import org.apache.poi.ooxml.POIXMLTypeLoader;
import org.apache.poi.ooxml.util.DocumentHelper; import org.apache.poi.ooxml.util.DocumentHelper;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.InvalidOperationException; import org.apache.poi.openxml4j.exceptions.InvalidOperationException;


@Test @Test
void testZipEntityExpansionExceedsMemory() { void testZipEntityExpansionExceedsMemory() {
IOException ex = assertThrows(
IOException.class,
() -> openXmlBombFile("poc-xmlbomb.xlsx")
);
assertTrue(ex.getMessage().contains("unable to parse shared strings table"));
assertTrue(matchSAXEx(ex));
boolean originalFlag = POIXMLTypeLoader.DEFAULT_XML_OPTIONS.disallowDocTypeDeclaration();
try {
POIXMLTypeLoader.DEFAULT_XML_OPTIONS.setDisallowDocTypeDeclaration(false);
IOException ex = assertThrows(
IOException.class,
() -> openXmlBombFile("poc-xmlbomb.xlsx")
);
assertTrue(ex.getMessage().contains("unable to parse shared strings table"));
assertTrue(matchSAXEx(ex));
} finally {
POIXMLTypeLoader.DEFAULT_XML_OPTIONS.setDisallowDocTypeDeclaration(originalFlag);
}
} }


@Test @Test
void testZipEntityExpansionExceedsMemory2() { void testZipEntityExpansionExceedsMemory2() {
IOException ex = assertThrows(
IOException.class,
() -> openXmlBombFile("poc-xmlbomb-empty.xlsx")
);
assertTrue(ex.getMessage().contains("unable to parse shared strings table"));
assertTrue(matchSAXEx(ex));
boolean originalFlag = POIXMLTypeLoader.DEFAULT_XML_OPTIONS.disallowDocTypeDeclaration();
try {
POIXMLTypeLoader.DEFAULT_XML_OPTIONS.setDisallowDocTypeDeclaration(false);
IOException ex = assertThrows(
IOException.class,
() -> openXmlBombFile("poc-xmlbomb-empty.xlsx")
);
assertTrue(ex.getMessage().contains("unable to parse shared strings table"));
assertTrue(matchSAXEx(ex));
} finally {
POIXMLTypeLoader.DEFAULT_XML_OPTIONS.setDisallowDocTypeDeclaration(originalFlag);
}
} }


private static boolean matchSAXEx(Exception root) { private static boolean matchSAXEx(Exception root) {

+ 0
- 2
poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java View File

import java.util.Date; import java.util.Date;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.function.Consumer;
import java.util.zip.CRC32; import java.util.zip.CRC32;


import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream; import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.xddf.usermodel.chart.XDDFBarChartData; import org.apache.poi.xddf.usermodel.chart.XDDFBarChartData;
import org.apache.poi.xddf.usermodel.chart.XDDFChartData; import org.apache.poi.xddf.usermodel.chart.XDDFChartData;
import org.apache.poi.xssf.XSSFITestDataProvider; import org.apache.poi.xssf.XSSFITestDataProvider;
import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.xssf.model.StylesTable; import org.apache.poi.xssf.model.StylesTable;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCalcPr; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCalcPr;

+ 13
- 6
poi-ooxml/src/test/java/org/apache/poi/xwpf/extractor/TestExternalEntities.java View File



import java.io.IOException; import java.io.IOException;


import org.apache.poi.ooxml.POIXMLTypeLoader;
import org.apache.poi.xwpf.XWPFTestDataSamples; import org.apache.poi.xwpf.XWPFTestDataSamples;
import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
*/ */
@Test @Test
void testFile() throws IOException { void testFile() throws IOException {
try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("ExternalEntityInText.docx");
XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) {
boolean originalFlag = POIXMLTypeLoader.DEFAULT_XML_OPTIONS.disallowDocTypeDeclaration();
try {
POIXMLTypeLoader.DEFAULT_XML_OPTIONS.setDisallowDocTypeDeclaration(false);
try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("ExternalEntityInText.docx");
XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) {


String text = extractor.getText();
String text = extractor.getText();


assertTrue(text.length() > 0);
assertTrue(text.length() > 0);


// Check contents, they should not contain the text from POI web site after colon!
assertEquals("Here should not be the POI web site: \"\"", text.trim());
// Check contents, they should not contain the text from POI web site after colon!
assertEquals("Here should not be the POI web site: \"\"", text.trim());
}
} finally {
POIXMLTypeLoader.DEFAULT_XML_OPTIONS.setDisallowDocTypeDeclaration(originalFlag);
} }
} }



Loading…
Cancel
Save