You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by io...@apache.org on 2016/04/27 16:45:10 UTC

svn commit: r1741273 - /manifoldcf/trunk/connectors/searchblox/connector/src/test/java/org/apache/manifoldcf/agents/output/searchblox/tests/SearchBloxDocumentTest.java

Author: iorixxx
Date: Wed Apr 27 14:45:10 2016
New Revision: 1741273

URL: http://svn.apache.org/viewvc?rev=1741273&view=rev
Log:
CONNECTORS-1189 failing json tests using existing org.json dependency

Modified:
    manifoldcf/trunk/connectors/searchblox/connector/src/test/java/org/apache/manifoldcf/agents/output/searchblox/tests/SearchBloxDocumentTest.java

Modified: manifoldcf/trunk/connectors/searchblox/connector/src/test/java/org/apache/manifoldcf/agents/output/searchblox/tests/SearchBloxDocumentTest.java
URL: http://svn.apache.org/viewvc/manifoldcf/trunk/connectors/searchblox/connector/src/test/java/org/apache/manifoldcf/agents/output/searchblox/tests/SearchBloxDocumentTest.java?rev=1741273&r1=1741272&r2=1741273&view=diff
==============================================================================
--- manifoldcf/trunk/connectors/searchblox/connector/src/test/java/org/apache/manifoldcf/agents/output/searchblox/tests/SearchBloxDocumentTest.java (original)
+++ manifoldcf/trunk/connectors/searchblox/connector/src/test/java/org/apache/manifoldcf/agents/output/searchblox/tests/SearchBloxDocumentTest.java Wed Apr 27 14:45:10 2016
@@ -16,38 +16,34 @@
  */
 package org.apache.manifoldcf.agents.output.searchblox.tests;
 
-import com.google.common.collect.Lists;
-
-import org.json.*;
-
 import org.apache.manifoldcf.agents.interfaces.RepositoryDocument;
-import org.apache.manifoldcf.core.interfaces.ManifoldCFException;
 import org.apache.manifoldcf.agents.output.searchblox.SearchBloxDocument;
 import org.apache.manifoldcf.agents.output.searchblox.SearchBloxDocument.DocumentAction;
 import org.apache.manifoldcf.agents.output.searchblox.SearchBloxDocument.IndexingFormat;
 import org.apache.manifoldcf.agents.output.searchblox.SearchBloxException;
+import org.apache.manifoldcf.core.interfaces.ManifoldCFException;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
 import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
 import org.junit.Ignore;
-import static org.junit.Assert.*;
+import org.junit.Test;
 
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 public class SearchBloxDocumentTest {
-    SearchBloxDocument toTest;
-    RepositoryDocument rd;
+    private SearchBloxDocument toTest;
     @Before
    public void setUp() throws ManifoldCFException {
        Map<String, List<String>> args=initArgs();
        String apikey="apikey";
-       rd=initRepoDocument();
+        RepositoryDocument rd=initRepoDocument();
        String docURI = "URI";
        toTest=new SearchBloxDocument(apikey, docURI,rd,args);
    }
@@ -71,11 +67,97 @@ public class SearchBloxDocumentTest {
     }
 
     @Test
-    @Ignore("fails on jdk 8 due to hash order")
-    public void updateJsonString() throws SearchBloxException {
-        String jsonGenerated=toTest.toString(IndexingFormat.JSON, DocumentAction.ADD_UPDATE);
-        String expectedJson="{\"document\":{\"content\":\"I am a nice content in english!\",\"uid\":\"URI\",\"title\":\"I am a nice title\",\"description\":\"I am a little tiny description\",\"contenttype\":\"html\",\"colname\":\"collection1\",\"meta\":{\"meta2\":[\"I am META2!\"],\"meta1\":[\"I am META1!\"],\"share_allow\":[\"user3\",\"user2\",\"user1\"],\"share_deny\":[\"user4\",\"user5\"],\"document_deny\":[\"user52\",\"user42\"],\"document_allow\":[\"user22\",\"user12\",\"user33\"]},\"size\":\"100\"},\"apikey\":\"apikey\"}";
-        assertEquals(expectedJson,jsonGenerated);
+    public void updateJsonString() throws SearchBloxException, JSONException {
+
+        String jsonGenerated = toTest.toString(IndexingFormat.JSON, DocumentAction.ADD_UPDATE);
+
+        JSONObject json = new JSONObject(jsonGenerated);
+        assertTrue(json.has("apikey"));
+        assertTrue(json.has("document"));
+
+        Object apiObject = json.get("apikey");
+        assertTrue(apiObject instanceof String);
+        assertEquals("apikey", apiObject);
+
+        Object documentObject = json.get("document");
+        assertTrue(documentObject instanceof JSONObject);
+        JSONObject document = (JSONObject) documentObject;
+
+        assertTrue(document.has("uid"));
+        assertTrue(document.get("uid") instanceof String);
+        assertEquals("URI", document.get("uid"));
+
+
+        assertTrue(document.has("colname"));
+        assertTrue(document.get("colname") instanceof String);
+        assertEquals("collection1", document.get("colname"));
+
+
+        assertTrue(document.has("size"));
+        assertTrue(document.get("size") instanceof String);
+        assertEquals("100", document.get("size"));
+
+        assertTrue(document.has("meta"));
+        Object metaObject = document.get("meta");
+        assertTrue(metaObject instanceof JSONObject);
+        JSONObject meta = (JSONObject) metaObject;
+        assertEquals(6, meta.length());
+
+        assertTrue(meta.has("meta2"));
+        assertTrue(meta.get("meta2") instanceof JSONArray);
+        assertEquals(1, ((JSONArray) meta.get("meta2")).length());
+        assertEquals("I am META2!", ((JSONArray) meta.get("meta2")).getString(0));
+
+        assertTrue(meta.has("meta1"));
+        assertTrue(meta.get("meta1") instanceof JSONArray);
+        assertEquals(1, ((JSONArray) meta.get("meta1")).length());
+        assertEquals("I am META1!", ((JSONArray) meta.get("meta1")).getString(0));
+
+        assertTrue(meta.has("share_allow"));
+        assertTrue(meta.get("share_allow") instanceof JSONArray);
+        assertEquals(3, ((JSONArray) meta.get("share_allow")).length());
+        assertEquals("user1", ((JSONArray) meta.get("share_allow")).getString(0));
+        assertEquals("user2", ((JSONArray) meta.get("share_allow")).getString(1));
+        assertEquals("user3", ((JSONArray) meta.get("share_allow")).getString(2));
+
+        assertTrue(meta.has("document_deny"));
+        assertTrue(meta.get("document_deny") instanceof JSONArray);
+        assertEquals(2, ((JSONArray) meta.get("document_deny")).length());
+        assertEquals("user42", ((JSONArray) meta.get("document_deny")).getString(0));
+        assertEquals("user52", ((JSONArray) meta.get("document_deny")).getString(1));
+
+
+        assertTrue(meta.has("share_deny"));
+        assertTrue(meta.get("share_deny") instanceof JSONArray);
+        assertEquals(2, ((JSONArray) meta.get("share_deny")).length());
+        assertEquals("user5", ((JSONArray) meta.get("share_deny")).getString(0));
+        assertEquals("user4", ((JSONArray) meta.get("share_deny")).getString(1));
+
+
+        assertTrue(meta.has("document_allow"));
+        assertTrue(meta.get("document_allow") instanceof JSONArray);
+        assertEquals(3, ((JSONArray) meta.get("document_allow")).length());
+        assertEquals("user22", ((JSONArray) meta.get("document_allow")).getString(0));
+        assertEquals("user33", ((JSONArray) meta.get("document_allow")).getString(1));
+        assertEquals("user12", ((JSONArray) meta.get("document_allow")).getString(2));
+
+
+        assertTrue(document.has("description"));
+        assertTrue(document.get("description") instanceof String);
+        assertEquals("I am a little tiny description", document.get("description"));
+
+
+        assertTrue(document.has("title"));
+        assertTrue(document.get("title") instanceof String);
+        assertEquals("I am a nice title", document.get("title"));
+
+        assertTrue(document.has("content"));
+        assertTrue(document.get("content") instanceof String);
+        assertEquals("I am a nice content in english!", document.get("content"));
+
+        assertTrue(document.has("contenttype"));
+        assertTrue(document.get("contenttype") instanceof String);
+        assertEquals("html", document.get("contenttype"));
     }
 
     @Test
@@ -116,12 +198,12 @@ public class SearchBloxDocumentTest {
     }
 
     private Map<String, List<String>> initArgs() {
-        Map<String, List<String>> argMap=new HashMap<String, List<String>>();
-        argMap.put("collection", Lists.newArrayList("collection1"));
-        argMap.put("title_boost", Lists.newArrayList("1"));
-        argMap.put("content_boost", Lists.newArrayList("2"));
-        argMap.put("keywords_boost", Lists.newArrayList("3"));
-        argMap.put("description_boost", Lists.newArrayList("4"));
+        Map<String, List<String>> argMap=new HashMap<>();
+        argMap.put("collection", Collections.singletonList("collection1"));
+        argMap.put("title_boost", Collections.singletonList("1"));
+        argMap.put("content_boost", Collections.singletonList("2"));
+        argMap.put("keywords_boost", Collections.singletonList("3"));
+        argMap.put("description_boost", Collections.singletonList("4"));
         return argMap;
 
     }