NissimShiman commented on code in PR #5878:
URL: https://github.com/apache/nifi/pull/5878#discussion_r901835606
##########
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestSampleRecord.java:
##########
@@ -116,6 +118,82 @@ public void testIntervalSamplingWithNoRecords() throws
InitializationException {
out.assertAttributeEquals("record.count", "0");
}
+ @Test
+ public void testRangeSampling() throws InitializationException {
+ final MockRecordParser readerService = new MockRecordParser();
+ final MockRecordWriter writerService = new MockRecordWriter("header",
false);
+
+ final TestRunner runner =
TestRunners.newTestRunner(SampleRecord.class);
+ runner.addControllerService("reader", readerService);
+ runner.enableControllerService(readerService);
+ runner.addControllerService("writer", writerService);
+ runner.enableControllerService(writerService);
+
+ runner.setProperty(SampleRecord.RECORD_READER_FACTORY, "reader");
+ runner.setProperty(SampleRecord.RECORD_WRITER_FACTORY, "writer");
+ runner.setProperty(SampleRecord.SAMPLING_STRATEGY,
SampleRecord.RANGE_SAMPLING_KEY);
+ runner.assertNotValid();
+ runner.setProperty(SampleRecord.SAMPLING_RANGE, "1,4-5,98-"); // 1, 4,
5, 98, 99, 100 -- one-based not zero based
+
+ readerService.addSchemaField("name", RecordFieldType.STRING);
+ readerService.addSchemaField("age", RecordFieldType.INT);
+
+ for (int i = 1; i <= 100; i++) {
+ readerService.addRecord(i, 5 + i);
+ }
+ runner.enqueue("");
+ runner.run();
+
+ runner.assertTransferCount(SampleRecord.REL_SUCCESS, 1);
+ runner.assertTransferCount(SampleRecord.REL_ORIGINAL, 1);
+ MockFlowFile out =
runner.getFlowFilesForRelationship(SampleRecord.REL_SUCCESS).get(0);
+ out.assertAttributeEquals("record.count", "6");
Review Comment:
This may be beyond the scope of this ticket, but record.count probably
should be have a @WriteAttribute in SampleRecord.java
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]