commit
6c06424183
@ -37,6 +37,7 @@ import static org.mockito.Mockito.mock;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.InetAddress;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.json.JSONException;
|
||||
@ -51,8 +52,6 @@ import org.testng.annotations.Test;
|
||||
import com.google.refine.ProjectManager;
|
||||
import com.google.refine.ProjectMetadata;
|
||||
import com.google.refine.browsing.Engine;
|
||||
import com.google.refine.browsing.RowVisitor;
|
||||
import com.google.refine.grel.Function;
|
||||
import com.google.refine.io.FileProjectManager;
|
||||
import com.google.refine.expr.ExpressionUtils;
|
||||
import com.google.refine.model.Cell;
|
||||
@ -118,12 +117,27 @@ public class UrlFetchingTests extends RefineTest {
|
||||
bindings = null;
|
||||
}
|
||||
|
||||
private boolean isHostReachable(String host, int timeout){
|
||||
boolean state = false;
|
||||
|
||||
try {
|
||||
state = InetAddress.getByName(host).isReachable(timeout);
|
||||
} catch (IOException e) {
|
||||
// e.printStackTrace();
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for caching
|
||||
*/
|
||||
|
||||
@Test
|
||||
public void testUrlCaching() throws Exception {
|
||||
if (!isHostReachable("www.random.org", 5000))
|
||||
return;
|
||||
|
||||
for (int i = 0; i < 100; i++) {
|
||||
Row row = new Row(2);
|
||||
row.setCell(0, new Cell(i < 5 ? "apple":"orange", null));
|
||||
@ -132,7 +146,7 @@ public class UrlFetchingTests extends RefineTest {
|
||||
EngineDependentOperation op = new ColumnAdditionByFetchingURLsOperation(engine_config,
|
||||
"fruits",
|
||||
"\"https://www.random.org/integers/?num=1&min=1&max=100&col=1&base=10&format=plain&rnd=new&city=\"+value",
|
||||
OnError.SetToBlank,
|
||||
OnError.StoreError,
|
||||
"rand",
|
||||
1,
|
||||
500,
|
||||
@ -151,15 +165,17 @@ public class UrlFetchingTests extends RefineTest {
|
||||
} catch (InterruptedException e) {
|
||||
Assert.fail("Test interrupted");
|
||||
}
|
||||
Assert.assertFalse(process.isRunning());
|
||||
|
||||
|
||||
// Inspect rows
|
||||
String ref_val = (String)project.rows.get(0).getCellValue(1);
|
||||
String ref_val = (String)project.rows.get(0).getCellValue(1).toString();
|
||||
Assert.assertTrue(ref_val != "apple"); // just to make sure I picked the right column
|
||||
for (int i = 1; i < 4; i++) {
|
||||
System.out.println("value:" + project.rows.get(i).getCellValue(1));
|
||||
// all random values should be equal due to caching
|
||||
Assert.assertEquals(project.rows.get(i).getCellValue(1), ref_val);
|
||||
}
|
||||
Assert.assertFalse(process.isRunning());
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user