Search in sources :

Example 21 with Result

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));
}
Also used : Result(org.talend.components.api.component.runtime.Result) Test(org.junit.Test)

Example 22 with Result

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));
}
Also used : Result(org.talend.components.api.component.runtime.Result) Test(org.junit.Test)

Example 23 with Result

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);
}
Also used : Result(org.talend.components.api.component.runtime.Result) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 24 with Result

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());
}
Also used : ArrayList(java.util.ArrayList) TSplunkEventCollectorProperties(org.talend.components.splunk.TSplunkEventCollectorProperties) TSplunkEventCollectorDefinition(org.talend.components.splunk.TSplunkEventCollectorDefinition) Result(org.talend.components.api.component.runtime.Result)

Example 25 with Result

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();
}
Also used : SQLException(java.sql.SQLException) Schema(org.apache.avro.Schema) PreparedStatement(java.sql.PreparedStatement) IOException(java.io.IOException) Result(org.talend.components.api.component.runtime.Result)

Aggregations

Result (org.talend.components.api.component.runtime.Result)76 Test (org.junit.Test)42 IndexedRecord (org.apache.avro.generic.IndexedRecord)31 ArrayList (java.util.ArrayList)22 Schema (org.apache.avro.Schema)17 TSalesforceOutputProperties (org.talend.components.salesforce.tsalesforceoutput.TSalesforceOutputProperties)13 ComponentDefinition (org.talend.components.api.component.ComponentDefinition)11 TSalesforceOutputDefinition (org.talend.components.salesforce.tsalesforceoutput.TSalesforceOutputDefinition)11 IOException (java.io.IOException)10 DefaultComponentRuntimeContainerImpl (org.talend.components.api.container.DefaultComponentRuntimeContainerImpl)8 NetSuiteDatasetRuntime (org.talend.components.netsuite.NetSuiteDatasetRuntime)8 NetSuiteSink (org.talend.components.netsuite.NetSuiteSink)8 NetSuiteOutputWriter (org.talend.components.netsuite.output.NetSuiteOutputWriter)8 NetSuiteWriteOperation (org.talend.components.netsuite.output.NetSuiteWriteOperation)8 ValidationResult (org.talend.daikon.properties.ValidationResult)7 NetSuitePortType (com.netsuite.webservices.v2016_2.platform.NetSuitePortType)6 SQLException (java.sql.SQLException)6 List (java.util.List)6 NetSuiteRuntimeImpl (org.talend.components.netsuite.v2016_2.NetSuiteRuntimeImpl)6 NetSuiteSinkImpl (org.talend.components.netsuite.v2016_2.NetSuiteSinkImpl)6