More JSON tests for operations
This commit is contained in:
parent
b4bcf7a1b6
commit
73171755f3
@ -0,0 +1,34 @@
|
|||||||
|
package com.google.refine.tests.operations.column;
|
||||||
|
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.testng.annotations.BeforeSuite;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import com.google.refine.model.Project;
|
||||||
|
import com.google.refine.operations.OperationRegistry;
|
||||||
|
import com.google.refine.operations.column.ColumnAdditionOperation;
|
||||||
|
import com.google.refine.tests.RefineTest;
|
||||||
|
import com.google.refine.tests.util.TestUtils;
|
||||||
|
|
||||||
|
public class ColumnAdditionOperationTests extends RefineTest {
|
||||||
|
|
||||||
|
@BeforeSuite
|
||||||
|
public void registerOperation() {
|
||||||
|
OperationRegistry.registerOperation(getCoreModule(), "column-addition", ColumnAdditionOperation.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void serializeColumnAdditionOperation() throws JSONException, Exception {
|
||||||
|
String json = "{"
|
||||||
|
+ " \"op\":\"core/column-addition\","
|
||||||
|
+ " \"description\":\"Create column organization_json at index 3 based on column employments using expression grel:value.parseJson()[\\\"employment-summary\\\"].join('###')\",\"engineConfig\":{\"mode\":\"row-based\",\"facets\":[]},\"newColumnName\":\"organization_json\",\"columnInsertIndex\":3,\"baseColumnName\":\"employments\","
|
||||||
|
+ " \"expression\":\"grel:value.parseJson()[\\\"employment-summary\\\"].join('###')\","
|
||||||
|
+ " \"onError\":\"set-to-blank\""
|
||||||
|
+ "}";
|
||||||
|
Project project = mock(Project.class);
|
||||||
|
TestUtils.isSerializedTo(ColumnAdditionOperation.reconstruct(project, new JSONObject(json)), json);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
package com.google.refine.tests.operations.column;
|
||||||
|
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.testng.annotations.BeforeSuite;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import com.google.refine.model.Project;
|
||||||
|
import com.google.refine.operations.OperationRegistry;
|
||||||
|
import com.google.refine.operations.column.ColumnSplitOperation;
|
||||||
|
import com.google.refine.tests.RefineTest;
|
||||||
|
import com.google.refine.tests.util.TestUtils;
|
||||||
|
|
||||||
|
public class ColumnSplitOperationTests extends RefineTest {
|
||||||
|
@BeforeSuite
|
||||||
|
public void registerOperation() {
|
||||||
|
OperationRegistry.registerOperation(getCoreModule(), "column-split", ColumnSplitOperation.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void serializeColumnSplitOperation() throws JSONException, Exception {
|
||||||
|
String json = "{\n" +
|
||||||
|
" \"op\": \"core/column-split\",\n" +
|
||||||
|
" \"description\": \"Split column ea by separator\",\n" +
|
||||||
|
" \"engineConfig\": {\n" +
|
||||||
|
" \"mode\": \"row-based\",\n" +
|
||||||
|
" \"facets\": []\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"columnName\": \"ea\",\n" +
|
||||||
|
" \"guessCellType\": true,\n" +
|
||||||
|
" \"removeOriginalColumn\": true,\n" +
|
||||||
|
" \"mode\": \"separator\",\n" +
|
||||||
|
" \"separator\": \"e\",\n" +
|
||||||
|
" \"regex\": false,\n" +
|
||||||
|
" \"maxColumns\": 0\n" +
|
||||||
|
" }";
|
||||||
|
Project project = mock(Project.class);
|
||||||
|
TestUtils.isSerializedTo(ColumnSplitOperation.reconstruct(project, new JSONObject(json)), json);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
package com.google.refine.tests.operations.recon;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.testng.annotations.BeforeSuite;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import com.google.refine.model.Project;
|
||||||
|
import com.google.refine.operations.OperationRegistry;
|
||||||
|
import com.google.refine.operations.recon.ReconClearSimilarCellsOperation;
|
||||||
|
import com.google.refine.tests.RefineTest;
|
||||||
|
import com.google.refine.tests.util.TestUtils;
|
||||||
|
|
||||||
|
public class ReconClearSimilarCellsOperationTests extends RefineTest {
|
||||||
|
@BeforeSuite
|
||||||
|
public void registerOperation() {
|
||||||
|
OperationRegistry.registerOperation(getCoreModule(), "recon-clear-similar-cells", ReconClearSimilarCellsOperation.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void serializeReconClearSimilarCellsOperation() throws Exception {
|
||||||
|
String json = "{\"op\":\"core/recon-clear-similar-cells\","
|
||||||
|
+ "\"description\":\"Clear recon data for cells containing \\\"some value\\\" in column my column\","
|
||||||
|
+ "\"engineConfig\":{\"mode\":\"row-based\",\"facets\":[]},"
|
||||||
|
+ "\"columnName\":\"my column\","
|
||||||
|
+ "\"similarValue\":\"some value\"}";
|
||||||
|
Project project = mock(Project.class);
|
||||||
|
TestUtils.isSerializedTo(ReconClearSimilarCellsOperation.reconstruct(project, new JSONObject(json)), json);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
package com.google.refine.tests.operations.recon;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.testng.annotations.BeforeSuite;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import com.google.refine.model.Project;
|
||||||
|
import com.google.refine.operations.OperationRegistry;
|
||||||
|
import com.google.refine.operations.recon.ReconCopyAcrossColumnsOperation;
|
||||||
|
import com.google.refine.tests.RefineTest;
|
||||||
|
import com.google.refine.tests.util.TestUtils;
|
||||||
|
|
||||||
|
public class ReconCopyAcrossColumnsOperationTests extends RefineTest {
|
||||||
|
@BeforeSuite
|
||||||
|
public void registerOperation() {
|
||||||
|
OperationRegistry.registerOperation(getCoreModule(), "recon-copy-across-columns", ReconCopyAcrossColumnsOperation.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void serializeReconCopyAcrossColumnsOperation() throws Exception {
|
||||||
|
String json = "{\"op\":\"core/recon-copy-across-columns\","
|
||||||
|
+ "\"description\":\"Copy recon judgments from column source column to firstsecond\","
|
||||||
|
+ "\"engineConfig\":{\"mode\":\"row-based\"},"
|
||||||
|
+ "\"fromColumnName\":\"source column\","
|
||||||
|
+ "\"toColumnNames\":[\"first\",\"second\"],"
|
||||||
|
+ "\"judgments\":[\"matched\",\"new\"],"
|
||||||
|
+ "\"applyToJudgedCells\":true}";
|
||||||
|
Project project = mock(Project.class);
|
||||||
|
TestUtils.isSerializedTo(ReconCopyAcrossColumnsOperation.reconstruct(project, new JSONObject(json)), json);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
package com.google.refine.tests.operations.recon;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.testng.annotations.BeforeSuite;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import com.google.refine.model.Project;
|
||||||
|
import com.google.refine.operations.OperationRegistry;
|
||||||
|
import com.google.refine.operations.recon.ReconDiscardJudgmentsOperation;
|
||||||
|
import com.google.refine.tests.RefineTest;
|
||||||
|
import com.google.refine.tests.util.TestUtils;
|
||||||
|
|
||||||
|
public class ReconDiscardJudgmentsOperationTests extends RefineTest {
|
||||||
|
@BeforeSuite
|
||||||
|
public void registerOperation() {
|
||||||
|
OperationRegistry.registerOperation(getCoreModule(), "recon-discard-judgments", ReconDiscardJudgmentsOperation.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void serializeReconDiscardJudgmentsOperation() throws Exception {
|
||||||
|
String json = "{\n" +
|
||||||
|
" \"op\": \"core/recon-discard-judgments\",\n" +
|
||||||
|
" \"description\": \"Discard recon judgments and clear recon data for cells in column researcher\",\n" +
|
||||||
|
" \"engineConfig\": {\n" +
|
||||||
|
" \"mode\": \"record-based\",\n" +
|
||||||
|
" \"facets\": []\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"columnName\": \"researcher\",\n" +
|
||||||
|
" \"clearData\": true\n" +
|
||||||
|
" }";
|
||||||
|
Project project = mock(Project.class);
|
||||||
|
TestUtils.isSerializedTo(ReconDiscardJudgmentsOperation.reconstruct(project, new JSONObject(json)), json);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
package com.google.refine.tests.operations.recon;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.testng.annotations.BeforeSuite;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import com.google.refine.model.Project;
|
||||||
|
import com.google.refine.operations.OperationRegistry;
|
||||||
|
import com.google.refine.operations.recon.ReconJudgeSimilarCellsOperation;
|
||||||
|
import com.google.refine.tests.RefineTest;
|
||||||
|
import com.google.refine.tests.util.TestUtils;
|
||||||
|
|
||||||
|
public class ReconJudgeSimilarCellsOperationTests extends RefineTest {
|
||||||
|
@BeforeSuite
|
||||||
|
public void registerOperation() {
|
||||||
|
OperationRegistry.registerOperation(getCoreModule(), "recon-judge-similar-cells", ReconJudgeSimilarCellsOperation.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void serializeReconJudgeSimilarCellsOperation() throws Exception {
|
||||||
|
String json = "{\"op\":\"core/recon-judge-similar-cells\","
|
||||||
|
+ "\"description\":\"Match item Unicef Indonesia (Q7884717) for cells containing \\\"UNICEF Indonesia\\\" in column organization_name\","
|
||||||
|
+ "\"engineConfig\":{\"mode\":\"row-based\",\"facets\":[]},"
|
||||||
|
+ "\"columnName\":\"organization_name\","
|
||||||
|
+ "\"similarValue\":\"UNICEF Indonesia\","
|
||||||
|
+ "\"judgment\":\"matched\","
|
||||||
|
+ "\"match\":{\"id\":\"Q7884717\",\"name\":\"Unicef Indonesia\",\"score\":71.42857142857143,\"types\":[\"Q43229\"]},"
|
||||||
|
+ "\"shareNewTopics\":false}";
|
||||||
|
Project project = mock(Project.class);
|
||||||
|
TestUtils.isSerializedTo(ReconJudgeSimilarCellsOperation.reconstruct(project, new JSONObject(json)), json);
|
||||||
|
}
|
||||||
|
}
|
@ -8,7 +8,6 @@ import java.util.Properties;
|
|||||||
|
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.testng.annotations.BeforeSuite;
|
|
||||||
import org.testng.annotations.BeforeTest;
|
import org.testng.annotations.BeforeTest;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
@ -20,7 +19,6 @@ import com.google.refine.model.Recon;
|
|||||||
import com.google.refine.model.recon.ReconConfig;
|
import com.google.refine.model.recon.ReconConfig;
|
||||||
import com.google.refine.model.recon.StandardReconConfig;
|
import com.google.refine.model.recon.StandardReconConfig;
|
||||||
import com.google.refine.operations.OperationRegistry;
|
import com.google.refine.operations.OperationRegistry;
|
||||||
import com.google.refine.operations.column.ColumnMoveOperation;
|
|
||||||
import com.google.refine.operations.recon.ReconJudgeSimilarCellsOperation;
|
import com.google.refine.operations.recon.ReconJudgeSimilarCellsOperation;
|
||||||
import com.google.refine.process.Process;
|
import com.google.refine.process.Process;
|
||||||
import com.google.refine.tests.RefineTest;
|
import com.google.refine.tests.RefineTest;
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
package com.google.refine.tests.operations.recon;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.testng.annotations.BeforeSuite;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import com.google.refine.model.Project;
|
||||||
|
import com.google.refine.operations.OperationRegistry;
|
||||||
|
import com.google.refine.operations.recon.ReconMarkNewTopicsOperation;
|
||||||
|
import com.google.refine.tests.RefineTest;
|
||||||
|
import com.google.refine.tests.util.TestUtils;
|
||||||
|
|
||||||
|
public class ReconMarkNewTopicsOperationTests extends RefineTest {
|
||||||
|
@BeforeSuite
|
||||||
|
public void registerOperation() {
|
||||||
|
OperationRegistry.registerOperation(getCoreModule(), "recon-mark-new-topics", ReconMarkNewTopicsOperation.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void serializeReconMarkNewTopicsOperation() throws Exception {
|
||||||
|
String json = "{"
|
||||||
|
+ "\"op\":\"core/recon-mark-new-topics\","
|
||||||
|
+ "\"engineConfig\":{\"mode\":\"row-based\"},"
|
||||||
|
+ "\"columnName\":\"my column\","
|
||||||
|
+ "\"shareNewTopics\":true,"
|
||||||
|
+ "\"description\":\"Mark to create new items for cells in column my column, one item for each group of similar cells\""
|
||||||
|
+ "}";
|
||||||
|
Project project = mock(Project.class);
|
||||||
|
TestUtils.isSerializedTo(ReconMarkNewTopicsOperation.reconstruct(project, new JSONObject(json)), json);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
package com.google.refine.tests.operations.recon;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.testng.annotations.BeforeSuite;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import com.google.refine.model.Project;
|
||||||
|
import com.google.refine.operations.OperationRegistry;
|
||||||
|
import com.google.refine.operations.recon.ReconMatchBestCandidatesOperation;
|
||||||
|
import com.google.refine.tests.RefineTest;
|
||||||
|
import com.google.refine.tests.util.TestUtils;
|
||||||
|
|
||||||
|
public class ReconMatchBestCandidatesOperationTests extends RefineTest {
|
||||||
|
@BeforeSuite
|
||||||
|
public void registerOperation() {
|
||||||
|
OperationRegistry.registerOperation(getCoreModule(), "recon-match-best-candidates", ReconMatchBestCandidatesOperation.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void serializeReconMatchBestCandidatesOperation() throws Exception {
|
||||||
|
String json = "{"
|
||||||
|
+ "\"op\":\"core/recon-match-best-candidates\","
|
||||||
|
+ "\"description\":\"Match each cell to its best recon candidate in column organization_name\","
|
||||||
|
+ "\"engineConfig\":{\"mode\":\"row-based\",\"facets\":["
|
||||||
|
+ " {\"selectNumeric\":true,\"expression\":\"cell.recon.best.score\",\"selectBlank\":false,\"selectNonNumeric\":true,\"selectError\":true,\"name\":\"organization_name: best candidate's score\",\"from\":13,\"to\":101,\"type\":\"range\",\"columnName\":\"organization_name\"},"
|
||||||
|
+ " {\"selectNonTime\":true,\"expression\":\"grel:toDate(value)\",\"selectBlank\":true,\"selectError\":true,\"selectTime\":true,\"name\":\"start_year\",\"from\":410242968000,\"to\":1262309184000,\"type\":\"timerange\",\"columnName\":\"start_year\"}"
|
||||||
|
+ "]},"
|
||||||
|
+ "\"columnName\":\"organization_name\""
|
||||||
|
+ "}";
|
||||||
|
Project project = mock(Project.class);
|
||||||
|
TestUtils.isSerializedTo(ReconMatchBestCandidatesOperation.reconstruct(project, new JSONObject(json)), json);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
package com.google.refine.tests.operations.recon;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.testng.annotations.BeforeSuite;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import com.google.refine.model.Project;
|
||||||
|
import com.google.refine.operations.OperationRegistry;
|
||||||
|
import com.google.refine.operations.recon.ReconMatchSpecificTopicOperation;
|
||||||
|
import com.google.refine.tests.RefineTest;
|
||||||
|
import com.google.refine.tests.util.TestUtils;
|
||||||
|
|
||||||
|
public class ReconMatchSpecificTopicOperationTests extends RefineTest {
|
||||||
|
@BeforeSuite
|
||||||
|
public void registerOperation() {
|
||||||
|
OperationRegistry.registerOperation(getCoreModule(), "recon-match-specific-topic-to-cells", ReconMatchSpecificTopicOperation.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void serializeReconMatchSpecificTopicOperation() throws Exception {
|
||||||
|
String json = "{\n" +
|
||||||
|
" \"op\": \"core/recon-match-specific-topic-to-cells\",\n" +
|
||||||
|
" \"description\": \"Match specific item Gangnam (Q489941) to cells in column researcher\",\n" +
|
||||||
|
" \"engineConfig\": {\n" +
|
||||||
|
" \"mode\": \"record-based\",\n" +
|
||||||
|
" \"facets\": []\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"columnName\": \"researcher\",\n" +
|
||||||
|
" \"match\": {\n" +
|
||||||
|
" \"id\": \"Q489941\",\n" +
|
||||||
|
" \"name\": \"Gangnam\",\n" +
|
||||||
|
" \"types\": [\n" +
|
||||||
|
" \"Q5\"\n" +
|
||||||
|
" ]\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"identifierSpace\": \"http://www.wikidata.org/entity/\",\n" +
|
||||||
|
" \"schemaSpace\": \"http://www.wikidata.org/prop/direct/\"\n" +
|
||||||
|
" }";
|
||||||
|
Project project = mock(Project.class);
|
||||||
|
TestUtils.isSerializedTo(ReconMatchSpecificTopicOperation.reconstruct(project, new JSONObject(json)), json);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
package com.google.refine.tests.operations.recon;
|
||||||
|
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
import org.testng.annotations.BeforeSuite;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import com.google.refine.model.Project;
|
||||||
|
import com.google.refine.operations.OperationRegistry;
|
||||||
|
import com.google.refine.operations.recon.ReconOperation;
|
||||||
|
import com.google.refine.tests.RefineTest;
|
||||||
|
import com.google.refine.tests.util.TestUtils;
|
||||||
|
|
||||||
|
|
||||||
|
public class ReconOperationTests extends RefineTest {
|
||||||
|
@BeforeSuite
|
||||||
|
public void registerOperation() {
|
||||||
|
OperationRegistry.registerOperation(getCoreModule(), "recon", ReconOperation.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void serializeReconOperation() throws JSONException, Exception {
|
||||||
|
String json = "{"
|
||||||
|
+ "\"op\":\"core/recon\","
|
||||||
|
+ "\"description\":\"Reconcile cells in column researcher to type Q5\","
|
||||||
|
+ "\"columnName\":\"researcher\","
|
||||||
|
+ "\"config\":{"
|
||||||
|
+ " \"mode\":\"standard-service\","
|
||||||
|
+ " \"service\":\"https://tools.wmflabs.org/openrefine-wikidata/en/api\","
|
||||||
|
+ " \"identifierSpace\":\"http://www.wikidata.org/entity/\","
|
||||||
|
+ " \"schemaSpace\":\"http://www.wikidata.org/prop/direct/\","
|
||||||
|
+ " \"type\":{\"id\":\"Q5\",\"name\":\"human\"},"
|
||||||
|
+ " \"autoMatch\":true,"
|
||||||
|
+ " \"columnDetails\":[],"
|
||||||
|
+ " \"limit\":0"
|
||||||
|
+ "},"
|
||||||
|
+ "\"engineConfig\":{\"mode\":\"row-based\",\"facets\":[]}}";
|
||||||
|
Project project = mock(Project.class);
|
||||||
|
TestUtils.isSerializedTo(ReconOperation.reconstruct(project, new JSONObject(json)), json);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user