nifi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sandish Kumar HN <sanysand...@gmail.com>
Subject NIFI Unit Test Error with @OnScheduled annotation
Date Tue, 26 Feb 2019 22:47:49 GMT
Hi,


*I'm stuck with below error:*


java.lang.AssertionError: Could not invoke methods annotated with
@OnScheduled annotation due to: java.lang.reflect.InvocationTargetException

at
org.apache.nifi.kudu.TestPutKuduT.testWriteKuduWithDefaults(TestPutKuduT.java:70)


[INFO]

[INFO] Results:

[INFO]

[ERROR] Failures:

[ERROR]   TestPutKuduT.testWriteKuduWithDefaults:70 Could not invoke
methods annotated with @OnScheduled annotation due to:
java.lang.reflect.InvocationTargetException


*The test case is here :*

@Test
public void testWriteKuduWithDefaults() throws InitializationException {
    final TestRunner runner = TestRunners.newTestRunner(PutKudu.class);
    setUpTestRunner(runner);

    final MockKuduClientService kuduClient = getKuduClientService(runner);
    createRecordReader(100, runner);

    final String filename = "testWriteKudu-" + System.currentTimeMillis();
    final Map<String,String> flowFileAttributes = new HashMap<>();
    flowFileAttributes.put(CoreAttributes.FILENAME.key(), filename);
    runner.enqueue("trigger", flowFileAttributes);
    runner.run();
    runner.assertAllFlowFilesTransferred(PutKudu.REL_SUCCESS);
    // verify the successful flow file has the expected content & attributes
    final MockFlowFile mockFlowFile =
runner.getFlowFilesForRelationship(PutKudu.REL_SUCCESS).get(0);
    mockFlowFile.assertAttributeEquals(CoreAttributes.FILENAME.key(), filename);
    mockFlowFile.assertAttributeEquals(PutKudu.RECORD_COUNT_ATTR, "100");
    mockFlowFile.assertContentEquals("trigger");
}

*and onSchedule meMethod is here:*

@OnScheduled

public void onScheduled(final ProcessContext context) throws
IOException, LoginException {

    final String tableName =
context.getProperty(TABLE_NAME).evaluateAttributeExpressions().getValue();
    operationType =
OperationType.valueOf(context.getProperty(INSERT_OPERATION).getValue());
    batchSize =
context.getProperty(BATCH_SIZE).evaluateAttributeExpressions().asInteger();
    ffbatch   =
context.getProperty(FLOWFILE_BATCH_SIZE).evaluateAttributeExpressions().asInteger();
    flushMode =
SessionConfiguration.FlushMode.valueOf(context.getProperty(FLUSH_MODE).getValue());
    getLogger().debug("Setting up Kudu connection...");
    clientService =
context.getProperty(KUDU_CLIENT_SERVICE).asControllerService(KuduClientService.class);
    kuduTable = clientService.getKuduClient().openTable(tableName);
    getLogger().debug("Kudu connection successfully initialized");
}

*Can someone one help me to bypass this issue? I tried all optiones
dicussed here
http://apache-nifi-developer-list.39713.n7.nabble.com/Error-handling-in-OnScheduled-td19446.html
<http://apache-nifi-developer-list.39713.n7.nabble.com/Error-handling-in-OnScheduled-td19446.html>
*

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message