This is an automated email from the ASF dual-hosted git repository. tallison pushed a commit to branch branch_3_2x in repository https://gitbox.apache.org/repos/asf/tika.git
commit df44b5b9bd026d561bacedae6a29c506e82f9294 Author: tallison <[email protected]> AuthorDate: Thu Sep 11 08:21:27 2025 -0400 TIKA-4482 -- add integration test in tika-server for xfa. (cherry picked from commit 4d5ff157a54b7ad17f199ca19cca74bcf58a6e47) --- .../standard/RecursiveMetadataResourceTest.java | 18 ++++++++++++++++++ .../test-documents/testPDF_XFA_govdocs1_258578.pdf | Bin 0 -> 168176 bytes 2 files changed, 18 insertions(+) diff --git a/tika-server/tika-server-standard/src/test/java/org/apache/tika/server/standard/RecursiveMetadataResourceTest.java b/tika-server/tika-server-standard/src/test/java/org/apache/tika/server/standard/RecursiveMetadataResourceTest.java index 029b429ed..b6dbfc823 100644 --- a/tika-server/tika-server-standard/src/test/java/org/apache/tika/server/standard/RecursiveMetadataResourceTest.java +++ b/tika-server/tika-server-standard/src/test/java/org/apache/tika/server/standard/RecursiveMetadataResourceTest.java @@ -42,6 +42,7 @@ import org.junit.jupiter.api.Test; import org.apache.tika.TikaTest; import org.apache.tika.metadata.Metadata; import org.apache.tika.metadata.OfficeOpenXMLExtended; +import org.apache.tika.metadata.PDF; import org.apache.tika.metadata.TikaCoreProperties; import org.apache.tika.serialization.JsonMetadataList; import org.apache.tika.server.core.CXFTestBase; @@ -497,6 +498,23 @@ public class RecursiveMetadataResourceTest extends CXFTestBase { assertEquals("true", metadata.get(TikaCoreProperties.WRITE_LIMIT_REACHED)); } + @Test + public void testXFA() throws Exception { + Response response = WebClient + .create(endPoint + META_PATH) + .accept("application/json") + .put(ClassLoader.getSystemResourceAsStream( + "test-documents/testPDF_XFA_govdocs1_258578.pdf")); + + assertEquals(200, response.getStatus()); + Reader reader = new InputStreamReader((InputStream) response.getEntity(), UTF_8); + List<Metadata> metadataList = JsonMetadataList.fromJson(reader); + assertEquals(1, metadataList.size()); + Metadata m = metadataList.get(0); + assertEquals("true", m.get(PDF.HAS_XFA)); + assertTrue(m.get(TikaCoreProperties.TIKA_CONTENT).contains("Young Abraham Lincoln")); + } + @Test public void testNoThrowOnWriteLimitReached() throws Exception { int writeLimit = 100; diff --git a/tika-server/tika-server-standard/src/test/resources/test-documents/testPDF_XFA_govdocs1_258578.pdf b/tika-server/tika-server-standard/src/test/resources/test-documents/testPDF_XFA_govdocs1_258578.pdf new file mode 100644 index 000000000..e3fb8032d Binary files /dev/null and b/tika-server/tika-server-standard/src/test/resources/test-documents/testPDF_XFA_govdocs1_258578.pdf differ
