use of org.apache.gobblin.source.extractor.extract.QueryBasedSource.SourceEntity in project incubator-gobblin by apache.
the class QueryBasedSourceTest method testGetTableSpecificPropsFromState.
@Test
public void testGetTableSpecificPropsFromState() {
SourceState state = new SourceState();
state.setProp(DatasetUtils.DATASET_SPECIFIC_PROPS, "[{\"dataset\":\"Entity1\", \"value\": 1}, {\"dataset\":\"Table2\", \"value\":2}]");
// We should look in the dataset specific properties using the entity name, not table name
SourceEntity se1 = new SourceEntity("Entity1", "Table2");
SourceEntity se3 = new SourceEntity("Entity3", "Table3");
Set<SourceEntity> entities = ImmutableSet.of(se1, se3);
Map<SourceEntity, State> datasetProps = QueryBasedSource.getTableSpecificPropsFromState(entities, state);
// Value 1 should be returned for se1, no prpos should be returned for se3
Assert.assertEquals(datasetProps.size(), 1);
Assert.assertTrue(datasetProps.containsKey(se1));
State se1Props = datasetProps.get(se1);
Assert.assertEquals(se1Props.getProp("value"), "1");
}
use of org.apache.gobblin.source.extractor.extract.QueryBasedSource.SourceEntity in project incubator-gobblin by apache.
the class QueryBasedSourceTest method testSourceEntity.
@Test
public void testSourceEntity() {
SourceEntity se1 = SourceEntity.fromSourceEntityName("SourceEntity1");
Assert.assertEquals(se1.getSourceEntityName(), "SourceEntity1");
Assert.assertEquals(se1.getDestTableName(), "SourceEntity1");
Assert.assertEquals(se1.getDatasetName(), "SourceEntity1");
SourceEntity se2 = SourceEntity.fromSourceEntityName("SourceEntity$2");
Assert.assertEquals(se2.getSourceEntityName(), "SourceEntity$2");
Assert.assertEquals(se2.getDestTableName(), "SourceEntity_2");
Assert.assertEquals(se2.getDatasetName(), "SourceEntity$2");
State st1 = new State();
st1.setProp(ConfigurationKeys.SOURCE_ENTITY, "SourceEntity3");
st1.setProp(ConfigurationKeys.EXTRACT_TABLE_NAME_KEY, "SourceEntity3_Table");
Optional<SourceEntity> se3 = SourceEntity.fromState(st1);
Assert.assertTrue(se3.isPresent());
Assert.assertEquals(se3.get().getSourceEntityName(), "SourceEntity3");
Assert.assertEquals(se3.get().getDestTableName(), "SourceEntity3_Table");
Assert.assertEquals(se3.get().getDatasetName(), "SourceEntity3");
Assert.assertEquals(se3.get(), new SourceEntity("SourceEntity3", "SourceEntity3_Table"));
State st2 = new State();
st2.setProp(ConfigurationKeys.SOURCE_ENTITY, "SourceEntity$4");
Optional<SourceEntity> se4 = SourceEntity.fromState(st2);
Assert.assertTrue(se4.isPresent());
Assert.assertEquals(se4.get(), SourceEntity.fromSourceEntityName("SourceEntity$4"));
State st3 = new State();
st3.setProp(ConfigurationKeys.EXTRACT_TABLE_NAME_KEY, "Table5");
Optional<SourceEntity> se5 = SourceEntity.fromState(st3);
Assert.assertTrue(se5.isPresent());
Assert.assertEquals(se5.get(), SourceEntity.fromSourceEntityName("Table5"));
}
Aggregations