Github user MikeThomsen commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2745#discussion_r191389306
--- Diff:
nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/test/java/org/apache/nifi/lookup/TestSimpleCsvFileLookupService.java
---
@@ -64,4 +64,28 @@ public void testSimpleCsvFileLookupService() throws
InitializationException, IOE
assertEquals(EMPTY_STRING, property3);
}
+ @Test
+ public void testSimpleCsvFileLookupServiceWithCharset() throws
InitializationException, IOException, LookupFailureException {
+ final TestRunner runner =
TestRunners.newTestRunner(TestProcessor.class);
+ final SimpleCsvFileLookupService service = new
SimpleCsvFileLookupService();
+
+ runner.addControllerService("csv-file-lookup-service", service);
+ runner.setProperty(service, SimpleCsvFileLookupService.CSV_FILE,
"src/test/resources/test_Windows-31J.csv");
+ runner.setProperty(service, SimpleCsvFileLookupService.CSV_FORMAT,
"RFC4180");
+ runner.setProperty(service, SimpleCsvFileLookupService.CHARSET,
"Windows-31J");
+ runner.setProperty(service,
SimpleCsvFileLookupService.LOOKUP_KEY_COLUMN, "key");
+ runner.setProperty(service,
SimpleCsvFileLookupService.LOOKUP_VALUE_COLUMN, "value");
+ runner.enableControllerService(service);
+ runner.assertValid(service);
+
+ final SimpleCsvFileLookupService lookupService =
+ (SimpleCsvFileLookupService) runner.getProcessContext()
+ .getControllerServiceLookup()
+ .getControllerService("csv-file-lookup-service");
+
+ assertThat(lookupService, instanceOf(LookupService.class));
+
+ final Optional<String> property1 =
lookupService.lookup(Collections.singletonMap("key", "property.1"));
+ assertEquals(Optional.of("this is property \uff11"), property1);
--- End diff --
Add `assertTrue(property1.isPresent())` so the test will cleanly fail the
evaluation if it's not present.
---