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

Reply via email to