Search in sources :

Example 1 with TSplunkEventCollectorDefinition

use of org.talend.components.splunk.TSplunkEventCollectorDefinition 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 2 with TSplunkEventCollectorDefinition

use of org.talend.components.splunk.TSplunkEventCollectorDefinition in project components by Talend.

the class TSplunkEventCollectorWriterTestIT method testWritingOneRecordWithWrongToken.

/**
 * Test writing one record with wrong authorization token. Wrong authorization token should result in an error
 * response from the server.
 */
@Test
public void testWritingOneRecordWithWrongToken() throws IOException {
    TSplunkEventCollectorProperties props = (TSplunkEventCollectorProperties) new TSplunkEventCollectorDefinition().createProperties();
    // We will try to write one event at a time.
    props.extendedOutput.setValue(false);
    props.fullUrl.setValue(URL);
    props.token.setValue(WRONG_TOKEN);
    TSplunkEventCollectorSink sink = new TSplunkEventCollectorSink();
    sink.initialize(null, props);
    TSplunkEventCollectorWriteOperation writeOperation = new TSplunkEventCollectorWriteOperation(sink);
    TSplunkEventCollectorWriter writer = (TSplunkEventCollectorWriter) writeOperation.createWriter(null);
    IndexedRecord record = createIndexedRecord();
    writer.open("test");
    try {
        writer.write(record);
    } catch (IOException e) {
    }
    Result result = writer.close();
    List<Result> results = new ArrayList<>();
    results.add(result);
    Map<String, Object> resultMap = writeOperation.finalize(results, null);
    assertEquals("1 record should have been sent", 1, resultMap.get(ComponentDefinition.RETURN_TOTAL_RECORD_COUNT));
    assertEquals("1 record should have been rejected", 1, resultMap.get(ComponentDefinition.RETURN_REJECT_RECORD_COUNT));
    assertEquals("0 record should have been written", 0, resultMap.get(ComponentDefinition.RETURN_SUCCESS_RECORD_COUNT));
    Integer lastErrorCode = (Integer) resultMap.get(TSplunkEventCollectorDefinition.RETURN_RESPONSE_CODE);
    assertFalse("lastErrorCode shouldn't be null", lastErrorCode == null);
    assertEquals("Response code should be 4", 4, lastErrorCode.intValue());
}
Also used : IndexedRecord(org.apache.avro.generic.IndexedRecord) ArrayList(java.util.ArrayList) TSplunkEventCollectorProperties(org.talend.components.splunk.TSplunkEventCollectorProperties) IOException(java.io.IOException) TSplunkEventCollectorDefinition(org.talend.components.splunk.TSplunkEventCollectorDefinition) Result(org.talend.components.api.component.runtime.Result) Test(org.junit.Test)

Aggregations

ArrayList (java.util.ArrayList)2 Result (org.talend.components.api.component.runtime.Result)2 TSplunkEventCollectorDefinition (org.talend.components.splunk.TSplunkEventCollectorDefinition)2 TSplunkEventCollectorProperties (org.talend.components.splunk.TSplunkEventCollectorProperties)2 IOException (java.io.IOException)1 IndexedRecord (org.apache.avro.generic.IndexedRecord)1 Test (org.junit.Test)1