From c6d2b003b18d4f28b3c7a915a17dfa0cf16b81fe Mon Sep 17 00:00:00 2001 From: Antonin Delpeuch Date: Wed, 8 Aug 2018 14:38:38 +0100 Subject: [PATCH] Start serialization tests --- .../tests/model/ReconCandidateTests.java | 18 ++++++ .../refine/tests/model/ReconStatsTests.java | 15 +++++ .../google/refine/tests/model/ReconTests.java | 56 +++++++++++++++++++ .../refine/tests/model/ReconTypeTest.java | 17 ++++++ .../google/refine/tests/util/TestUtils.java | 8 +-- 5 files changed, 108 insertions(+), 6 deletions(-) create mode 100644 main/tests/server/src/com/google/refine/tests/model/ReconCandidateTests.java create mode 100644 main/tests/server/src/com/google/refine/tests/model/ReconStatsTests.java create mode 100644 main/tests/server/src/com/google/refine/tests/model/ReconTests.java create mode 100644 main/tests/server/src/com/google/refine/tests/model/ReconTypeTest.java diff --git a/main/tests/server/src/com/google/refine/tests/model/ReconCandidateTests.java b/main/tests/server/src/com/google/refine/tests/model/ReconCandidateTests.java new file mode 100644 index 000000000..88fed65e4 --- /dev/null +++ b/main/tests/server/src/com/google/refine/tests/model/ReconCandidateTests.java @@ -0,0 +1,18 @@ +package com.google.refine.tests.model; + +import org.testng.annotations.Test; + +import com.google.refine.model.ReconCandidate; +import com.google.refine.tests.util.TestUtils; + +public class ReconCandidateTests { + @Test + public void serializeReconCandidate() throws Exception { + String json = "{\"id\":\"Q49213\"," + + "\"name\":\"University of Texas at Austin\"," + + "\"score\":100," + + "\"types\":[\"Q875538\",\"Q15936437\",\"Q20971972\",\"Q23002039\"]}"; + ReconCandidate rc = ReconCandidate.loadStreaming(json); + TestUtils.isSerializedTo(rc, json); + } +} diff --git a/main/tests/server/src/com/google/refine/tests/model/ReconStatsTests.java b/main/tests/server/src/com/google/refine/tests/model/ReconStatsTests.java new file mode 100644 index 000000000..9baf1b68d --- /dev/null +++ b/main/tests/server/src/com/google/refine/tests/model/ReconStatsTests.java @@ -0,0 +1,15 @@ +package com.google.refine.tests.model; + +import org.testng.annotations.Test; + +import com.google.refine.model.ReconStats; +import com.google.refine.tests.util.TestUtils; + +public class ReconStatsTests { + + @Test + public void serializeReconStats() { + ReconStats rs = new ReconStats(3, 1, 2); + TestUtils.isSerializedTo(rs,"{\"nonBlanks\":3,\"newTopics\":1,\"matchedTopics\":2}"); + } +} diff --git a/main/tests/server/src/com/google/refine/tests/model/ReconTests.java b/main/tests/server/src/com/google/refine/tests/model/ReconTests.java new file mode 100644 index 000000000..a4ad792e8 --- /dev/null +++ b/main/tests/server/src/com/google/refine/tests/model/ReconTests.java @@ -0,0 +1,56 @@ +package com.google.refine.tests.model; + +import java.util.Properties; + +import org.testng.annotations.Test; + +import com.google.refine.model.Recon; +import com.google.refine.tests.util.TestUtils; + +public class ReconTests { + @Test + public void serializeRecon() throws Exception { + Properties options = new Properties(); + options.put("mode", "save"); + + String fullJson = "{\"id\":1533651559492945033," + + "\"judgmentHistoryEntry\":1533651616890," + + "\"service\":\"https://tools.wmflabs.org/openrefine-wikidata/en/api\"," + + "\"identifierSpace\":\"http://www.wikidata.org/entity/\"," + + "\"schemaSpace\":\"http://www.wikidata.org/prop/direct/\"," + + "\"j\":\"matched\"," + + "\"m\":{" + + " \"id\":\"Q2892284\"," + + " \"name\":\"Baylor College of Medicine\"," + + " \"score\":98.57142857142858," + + " \"types\":[\"Q16917\",\"Q23002054\",\"Q494230\"]" + + "}," + + "\"c\":[" + + " {\"id\":\"Q2892284\",\"name\":\"Baylor College of Medicine\",\"score\":98.57142857142858,\"types\":[\"Q16917\",\"Q23002054\",\"Q494230\"]}," + + " {\"id\":\"Q16165943\",\"name\":\"Baylor College of Medicine Academy at Ryan\",\"score\":82.14285714285715,\"types\":[\"Q149566\"]}," + + " {\"id\":\"Q30284245\",\"name\":\"Baylor College of Medicine Children\\u2019s Foundation\",\"score\":48.57142857142858,\"types\":[\"Q163740\"]}" + + "]," + + "\"f\":[false,false,1,0.6666666666666666]," + + "\"judgmentAction\":\"mass\"," + + "\"judgmentBatchSize\":1," + + "\"matchRank\":0}"; + Recon r = Recon.loadStreaming(fullJson, null); + TestUtils.isSerializedTo(r, fullJson, options); + + String shortJson = "{\"id\":1533651559492945033," + + "\"service\":\"https://tools.wmflabs.org/openrefine-wikidata/en/api\"," + + "\"identifierSpace\":\"http://www.wikidata.org/entity/\"," + + "\"schemaSpace\":\"http://www.wikidata.org/prop/direct/\"," + + "\"j\":\"matched\"," + + "\"m\":{" + + " \"id\":\"Q2892284\"," + + " \"name\":\"Baylor College of Medicine\"," + + " \"score\":98.57142857142858," + + " \"types\":[\"Q16917\",\"Q23002054\",\"Q494230\"]" + + "}}"; + options.put("mode", "normal"); + TestUtils.isSerializedTo(r, shortJson, options); + } + + +} diff --git a/main/tests/server/src/com/google/refine/tests/model/ReconTypeTest.java b/main/tests/server/src/com/google/refine/tests/model/ReconTypeTest.java new file mode 100644 index 000000000..9e66b7ca8 --- /dev/null +++ b/main/tests/server/src/com/google/refine/tests/model/ReconTypeTest.java @@ -0,0 +1,17 @@ +package com.google.refine.tests.model; + +import org.json.JSONException; +import org.json.JSONObject; +import org.testng.annotations.Test; + +import com.google.refine.model.ReconType; +import com.google.refine.tests.util.TestUtils; + +public class ReconTypeTest { + @Test + public void serializeReconType() throws JSONException, Exception { + String json = "{\"id\":\"Q7540126\",\"name\":\"headquarters\"}"; + ReconType rt = ReconType.load(new JSONObject(json)); + TestUtils.isSerializedTo(rt, json); + } +} diff --git a/main/tests/server/src/com/google/refine/tests/util/TestUtils.java b/main/tests/server/src/com/google/refine/tests/util/TestUtils.java index 54934925d..54d772ffd 100644 --- a/main/tests/server/src/com/google/refine/tests/util/TestUtils.java +++ b/main/tests/server/src/com/google/refine/tests/util/TestUtils.java @@ -50,12 +50,8 @@ public class TestUtils { JsonNode jsonA = mapper.readValue(expected, JsonNode.class); JsonNode jsonB = mapper.readValue(actual, JsonNode.class); assertEquals(jsonA, jsonB); - } catch(JsonMappingException e) { - fail(e.getMessage()); - } catch (JsonParseException e) { - fail(e.getMessage()); - } catch (IOException e) { - fail(e.getMessage()); + } catch(Exception e) { + fail("\""+expected+"\" and \""+actual+"\" are not equal as JSON strings."); } }