diff --git a/tika-app/pom.xml b/tika-app/pom.xml index f6af9fc7d6..6422b7aebf 100644 --- a/tika-app/pom.xml +++ b/tika-app/pom.xml @@ -92,6 +92,17 @@ org.slf4j jcl-over-slf4j + + com.google.flatbuffers + flatbuffers-java + 1.12.0 + test + + + com.google.code.gson + gson + test + diff --git a/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java b/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java index b8795225b6..98edd7fcc8 100644 --- a/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java +++ b/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java @@ -29,7 +29,10 @@ import java.net.URI; import java.nio.file.Files; import java.nio.file.Path; +import java.util.Map; +import java.util.TreeMap; +import com.google.gson.Gson; import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; @@ -248,16 +251,23 @@ public void testMetadataOutput() throws Exception { public void testJsonMetadataOutput() throws Exception { String json = getParamOutContent("--json", "--digest=MD2", resourcePrefix + "testJsonMultipleInts.html"); + + Map jsonMap = new Gson().fromJson(json, Map.class); + // Sort properties alphabetically + Map sortedJsonMap = new TreeMap<>(jsonMap); + // Convert back to JSON string + String newJson = new Gson().toJson(sortedJsonMap); + //TIKA-1310 - assertTrue(json.contains("\"fb:admins\":\"1,2,3,4\",")); + assertTrue(newJson.contains("\"fb:admins\":\"1,2,3,4\",")); //test legacy alphabetic sort of keys - int enc = json.indexOf("\"Content-Encoding\""); - int fb = json.indexOf("fb:admins"); - int title = json.indexOf("\"dc:title\""); + int enc = newJson.indexOf("\"Content-Encoding\""); + int fb = newJson.indexOf("fb:admins"); + int title = newJson.indexOf("\"dc:title\""); assertTrue(enc > -1 && fb > -1 && enc < fb); assertTrue(fb > -1 && title > -1 && fb > title); - assertTrue(json.contains("\"X-TIKA:digest:MD2\":")); + assertTrue(newJson.contains("\"X-TIKA:digest:MD2\":")); } /**