use of org.talend.components.api.component.runtime.Result in project components by Talend.
the class SnowflakeWriteOperationTest method testFinalize.
@Test
public void testFinalize() {
List<Result> writerResults = Arrays.asList(new Result("result1", 2, 2, 0), new Result("result2", 3, 3, 0), new Result("result3", 1, 0, 1));
Map<String, Object> finalizedResults = writeOperation.finalize(writerResults, null);
Assert.assertFalse(finalizedResults.isEmpty());
Assert.assertEquals(6, finalizedResults.get(ComponentDefinition.RETURN_TOTAL_RECORD_COUNT));
Assert.assertEquals(5, finalizedResults.get(ComponentDefinition.RETURN_SUCCESS_RECORD_COUNT));
Assert.assertEquals(1, finalizedResults.get(ComponentDefinition.RETURN_REJECT_RECORD_COUNT));
}
use of org.talend.components.api.component.runtime.Result in project components by Talend.
the class SnowflakeRowWriteOperationTest method testFinalize.
@Test
public void testFinalize() {
Result result = new Result();
result.totalCount = 1;
result.successCount = 1;
Map<String, Object> resultMap = operation.finalize(Collections.singletonList(result), null);
Assert.assertEquals(result.totalCount, (int) resultMap.get(ComponentDefinition.RETURN_TOTAL_RECORD_COUNT));
Assert.assertEquals(result.successCount, (int) resultMap.get(ComponentDefinition.RETURN_SUCCESS_RECORD_COUNT));
Assert.assertEquals(result.rejectCount, (int) resultMap.get(ComponentDefinition.RETURN_REJECT_RECORD_COUNT));
}
use of org.talend.components.api.component.runtime.Result in project components by Talend.
the class SnowflakeWriterTest method testOpenUpsert.
@Test
public void testOpenUpsert() throws Exception {
properties.outputAction.setValue(OutputAction.UPSERT);
properties.upsertKeyColumn.setValue("id_2");
writer.open("uId");
Mockito.verify(loader, Mockito.times(1)).start();
Result result = writer.close();
// Since we can't affect on listener.
Assert.assertEquals(0, result.totalCount);
Assert.assertEquals(0, result.successCount);
Assert.assertEquals(0, result.rejectCount);
}
use of org.talend.components.api.component.runtime.Result in project components by Talend.
the class TSplunkEventCollectorWriterTestIT method testWritingRecords.
/**
* Test writing defined amount of records with correct authorization token.
*/
public void testWritingRecords(int recordCount, IndexedRecord record, Schema schema) throws IOException {
TSplunkEventCollectorProperties props = (TSplunkEventCollectorProperties) new TSplunkEventCollectorDefinition().createProperties();
if (recordCount > 1) {
// lets check if data will be written with batch size 100, but we have only 5 messages to send.
props.extendedOutput.setValue(true);
props.eventsBatchSize.setValue(100);
} else {
// We will try to write one event at a time.
props.extendedOutput.setValue(false);
}
if (schema != null) {
props.schema.schema.setValue(schema);
}
props.fullUrl.setValue(URL);
props.token.setValue(TOKEN);
TSplunkEventCollectorSink sink = new TSplunkEventCollectorSink();
sink.initialize(null, props);
TSplunkEventCollectorWriteOperation writeOperation = new TSplunkEventCollectorWriteOperation(sink);
TSplunkEventCollectorWriter writer = (TSplunkEventCollectorWriter) writeOperation.createWriter(null);
writer.open("test");
for (int i = 0; i < recordCount; i++) {
writer.write(record);
}
Result result = writer.close();
List<Result> results = new ArrayList<>();
results.add(result);
Map<String, Object> resultMap = writeOperation.finalize(results, null);
assertEquals(recordCount + " record should have been written", recordCount, resultMap.get(ComponentDefinition.RETURN_TOTAL_RECORD_COUNT));
assertEquals(recordCount + " record should have been written", recordCount, resultMap.get(ComponentDefinition.RETURN_SUCCESS_RECORD_COUNT));
assertEquals("There should be no rejected records.", 0, resultMap.get(ComponentDefinition.RETURN_REJECT_RECORD_COUNT));
Integer lastErrorCode = (Integer) resultMap.get(TSplunkEventCollectorDefinition.RETURN_RESPONSE_CODE);
assertFalse("lastErrorCode shouldn't be null", lastErrorCode == null);
assertEquals("Response code should be 0", 0, lastErrorCode.intValue());
}
use of org.talend.components.api.component.runtime.Result in project components by Talend.
the class SnowflakeRowReader method start.
@Override
public boolean start() throws IOException {
connection = source.createConnection(container);
result = new Result();
Schema schema = source.getRuntimeSchema(container);
schemaReject = properties.schemaReject.schema.getValue();
converter.setSchema(schema);
this.dieOnError = properties.dieOnError.getValue();
try {
if (source.usePreparedStatement()) {
statement = connection.prepareStatement(source.getQuery());
PreparedStatement pstmt = (PreparedStatement) statement;
SnowflakePreparedStatementUtils.fillPreparedStatement(pstmt, properties.preparedStatementTable);
pstmt.execute();
rs = pstmt.getResultSet();
pstmt.clearParameters();
} else {
statement = connection.createStatement();
rs = statement.executeQuery(source.getQuery());
}
} catch (SQLException e) {
if (dieOnError) {
throw new IOException(e);
}
LOGGER.warn(I18N_MESSAGES.getMessage("error.queryExecution"), e);
handleReject(e);
}
return advance();
}
Aggregations