You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2025/09/11 12:22:41 UTC
(tika) 02/02: TIKA-4482 -- add integration test in tika-server for xfa.
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 <ta...@apache.org>
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