use of org.talend.components.localio.fixed.FixedDatasetProperties in project components by Talend.
the class SandboxedFixedInputRuntimeTest method testDatasetGetSample.
@Test
public void testDatasetGetSample() throws Exception {
// The two records to use as values.
GenericRecord r1 = new GenericData.Record(SampleSchemas.recordSimple());
r1.put("id", 1);
r1.put("name", "one");
GenericRecord r2 = new GenericData.Record(SampleSchemas.recordSimple());
r2.put("id", 2);
r2.put("name", "two");
final FixedDatasetProperties props = createComponentProperties().getDatasetProperties();
props.format.setValue(FixedDatasetProperties.RecordFormat.AVRO);
props.schema.setValue(SampleSchemas.recordSimple().toString());
props.values.setValue(r1.toString() + r2.toString());
final List<IndexedRecord> consumed = new ArrayList<>();
RuntimeInfo ri = new FixedDatasetDefinition().getRuntimeInfo(props);
try (SandboxedInstance si = RuntimeUtil.createRuntimeClass(ri, getClass().getClassLoader())) {
DatasetRuntime<FixedDatasetProperties> runtime = (DatasetRuntime<FixedDatasetProperties>) si.getInstance();
runtime.initialize(null, props);
// The functionality of the runtime is tested in its own module.
runtime.getSample(100, new Consumer<IndexedRecord>() {
@Override
public void accept(IndexedRecord ir) {
consumed.add(ir);
}
});
}
assertThat(consumed, hasSize(2));
}
use of org.talend.components.localio.fixed.FixedDatasetProperties in project components by Talend.
the class FixedDatasetRuntimeTest method testBasic.
@Test
public void testBasic() {
// The two records to use as values.
GenericRecord r1 = new GenericData.Record(SampleSchemas.recordSimple());
r1.put("id", 1);
r1.put("name", "one");
GenericRecord r2 = new GenericData.Record(SampleSchemas.recordSimple());
r2.put("id", 2);
r2.put("name", "two");
final FixedDatasetProperties props = createComponentProperties().getDatasetProperties();
props.format.setValue(FixedDatasetProperties.RecordFormat.AVRO);
props.schema.setValue(SampleSchemas.recordSimple().toString());
props.values.setValue(r1.toString() + r2.toString());
FixedDatasetRuntime runtime = new FixedDatasetRuntime();
runtime.initialize(null, props);
// Get the two records.
final List<IndexedRecord> consumed = new ArrayList<>();
runtime.getSample(100, new Consumer<IndexedRecord>() {
@Override
public void accept(IndexedRecord ir) {
consumed.add(ir);
}
});
assertThat(consumed, hasSize(2));
}
use of org.talend.components.localio.fixed.FixedDatasetProperties in project components by Talend.
the class FixedInputRuntimeTest method createComponentProperties.
/**
* @return the properties for this component fully initialized with the default values.
*/
public static FixedInputProperties createComponentProperties() {
FixedDatastoreProperties datastoreProps = new FixedDatastoreProperties(null);
datastoreProps.init();
FixedDatasetProperties datasetProps = new FixedDatasetProperties(null);
datasetProps.init();
datasetProps.setDatastoreProperties(datastoreProps);
FixedInputProperties componentProps = new FixedInputProperties(null);
componentProps.init();
componentProps.setDatasetProperties(datasetProps);
return componentProps;
}
use of org.talend.components.localio.fixed.FixedDatasetProperties in project components by Talend.
the class SandboxedFixedInputRuntimeTest method createComponentProperties.
/**
* @return the properties for this component fully initialized with the default values.
*/
public static FixedInputProperties createComponentProperties() {
FixedDatastoreProperties datastoreProps = new FixedDatastoreProperties(null);
datastoreProps.init();
FixedDatasetProperties datasetProps = new FixedDatasetProperties(null);
datasetProps.init();
datasetProps.setDatastoreProperties(datastoreProps);
FixedInputProperties componentProps = new FixedInputProperties(null);
componentProps.init();
componentProps.setDatasetProperties(datasetProps);
return componentProps;
}
Aggregations