Test ImportingUtilities.createProjectMetadata()

This commit is contained in:
Tiago Fernandez 2017-12-20 11:07:36 +01:00
parent 278f24c147
commit 0001d9f7b2
2 changed files with 37 additions and 13 deletions

View File

@ -1005,18 +1005,7 @@ public class ImportingUtilities {
final Format record,
final Project project
) {
ProjectMetadata pm = new ProjectMetadata();
pm.setName(JSONUtilities.getString(optionObj, "projectName", "Untitled"));
pm.setTags(JSONUtilities.getStringArray(optionObj, "projectTags"));
pm.appendImportOptionMetadata(optionObj);
String encoding = JSONUtilities.getString(optionObj, "encoding", "UTF-8");
if ("".equals(encoding)) {
// encoding can be present, but empty, which won't trigger JSONUtilities default processing
encoding = "UTF-8";
}
pm.setEncoding(encoding);
ProjectMetadata pm = createProjectMetadata(optionObj);
record.parser.parse(
project,
pm,
@ -1043,6 +1032,19 @@ public class ImportingUtilities {
job.updating = false;
}
}
static public ProjectMetadata createProjectMetadata(JSONObject optionObj) {
ProjectMetadata pm = new ProjectMetadata();
pm.setName(JSONUtilities.getString(optionObj, "projectName", "Untitled"));
pm.setTags(JSONUtilities.getStringArray(optionObj, "projectTags"));
pm.appendImportOptionMetadata(optionObj);
String encoding = JSONUtilities.getString(optionObj, "encoding", "UTF-8");
if ("".equals(encoding)) {
// encoding can be present, but empty, which won't trigger JSONUtilities default processing
encoding = "UTF-8";
}
pm.setEncoding(encoding);
return pm;
}
}

View File

@ -0,0 +1,22 @@
package com.google.refine.tests.importing;
import org.json.JSONObject;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.google.refine.ProjectMetadata;
import com.google.refine.importing.ImportingUtilities;
import com.google.refine.tests.RefineTest;
public class ImportingUtilitiesTests extends RefineTest {
@Test
public void createProjectMetadataTest() throws Exception {
JSONObject optionObj = new JSONObject("{\"projectName\":\"acme\",\"projectTags\":[],\"created\":\"2017-12-18T13:28:40.659\",\"modified\":\"2017-12-20T09:28:06.654\",\"creator\":\"\",\"contributors\":\"\",\"subject\":\"\",\"description\":\"\",\"rowCount\":50,\"customMetadata\":{},\"importOptionMetadata\":[{\"guessCellValueTypes\":false,\"projectTags\":[\"\"],\"ignoreLines\":-1,\"processQuotes\":true,\"fileSource\":\"acme.txt\",\"encoding\":\"\",\"separator\":\"|\",\"storeBlankCellsAsNulls\":true,\"storeBlankRows\":true,\"skipDataLines\":0,\"includeFileSources\":false,\"headerLines\":1,\"limit\":-1,\"projectName\":\"acme\"},{\"guessCellValueTypes\":false,\"projectTags\":[\"\"],\"ignoreLines\":-1,\"processQuotes\":true,\"fileSource\":\"acme.txt\",\"encoding\":\"\",\"separator\":\"|\",\"storeBlankCellsAsNulls\":true,\"storeBlankRows\":true,\"skipDataLines\":0,\"includeFileSources\":false,\"headerLines\":1,\"limit\":-1,\"projectName\":\"acme\"}]}");
ProjectMetadata pm = ImportingUtilities.createProjectMetadata(optionObj);
Assert.assertEquals(pm.getName(), "acme");
Assert.assertEquals(pm.getEncoding(), "UTF-8");
Assert.assertTrue(pm.getTags().length == 0);
Assert.assertTrue(pm.getImportOptionMetadata().length() > 0);
}
}