This is an automated email from the ASF dual-hosted git repository.
exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new b8c4cb081a NIFI-13965 Reduced duplicate code and optimized
TestConvertRecord (#9488)
b8c4cb081a is described below
commit b8c4cb081a0b85e2117b6a73a347a93f8c2b3769
Author: dan-s1 <[email protected]>
AuthorDate: Mon Nov 4 22:39:57 2024 -0500
NIFI-13965 Reduced duplicate code and optimized TestConvertRecord (#9488)
Signed-off-by: David Handermann <[email protected]>
---
.../processors/standard/TestConvertRecord.java | 185 ++++++++++-----------
1 file changed, 92 insertions(+), 93 deletions(-)
diff --git
a/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestConvertRecord.java
b/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestConvertRecord.java
index 897effa236..311c209509 100644
---
a/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestConvertRecord.java
+++
b/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestConvertRecord.java
@@ -35,6 +35,7 @@ import org.apache.nifi.serialization.record.RecordFieldType;
import org.apache.nifi.util.MockFlowFile;
import org.apache.nifi.util.TestRunner;
import org.apache.nifi.util.TestRunners;
+import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import org.junit.jupiter.api.condition.OS;
@@ -46,6 +47,7 @@ import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
+import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;
@@ -57,19 +59,36 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
@DisabledOnOs(value = OS.WINDOWS, disabledReason = "Pretty-printing is not
portable across operating systems")
public class TestConvertRecord {
+ private static final String PERSON_SCHEMA;
+ private static final String READER_ID = "reader";
+ private static final String WRITER_ID = "writer";
+ private TestRunner runner;
+
+ static {
+ try {
+ PERSON_SCHEMA =
Files.readString(Paths.get("src/test/resources/TestConvertRecord/schema/person.avsc"));
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @BeforeEach
+ void setUp() {
+ runner = TestRunners.newTestRunner(ConvertRecord.class);
+ }
+
@Test
public void testSuccessfulConversion() throws InitializationException {
final MockRecordParser readerService = new MockRecordParser();
final MockRecordWriter writerService = new MockRecordWriter("header",
false);
- final TestRunner runner =
TestRunners.newTestRunner(ConvertRecord.class);
- runner.addControllerService("reader", readerService);
+ runner.addControllerService(READER_ID, readerService);
runner.enableControllerService(readerService);
- runner.addControllerService("writer", writerService);
+ runner.addControllerService(WRITER_ID, writerService);
runner.enableControllerService(writerService);
- runner.setProperty(ConvertRecord.RECORD_READER, "reader");
- runner.setProperty(ConvertRecord.RECORD_WRITER, "writer");
+ runner.setProperty(ConvertRecord.RECORD_READER, READER_ID);
+ runner.setProperty(ConvertRecord.RECORD_WRITER, WRITER_ID);
readerService.addSchemaField("name", RecordFieldType.STRING);
readerService.addSchemaField("age", RecordFieldType.INT);
@@ -82,7 +101,7 @@ public class TestConvertRecord {
runner.run();
runner.assertAllFlowFilesTransferred(ConvertRecord.REL_SUCCESS, 1);
- final MockFlowFile out =
runner.getFlowFilesForRelationship(ConvertRecord.REL_SUCCESS).get(0);
+ final MockFlowFile out =
runner.getFlowFilesForRelationship(ConvertRecord.REL_SUCCESS).getFirst();
out.assertAttributeEquals("record.count", "3");
out.assertAttributeEquals("mime.type", "text/plain");
@@ -94,15 +113,14 @@ public class TestConvertRecord {
final MockRecordParser readerService = new MockRecordParser();
final MockRecordWriter writerService = new MockRecordWriter("header",
false);
- final TestRunner runner =
TestRunners.newTestRunner(ConvertRecord.class);
- runner.addControllerService("reader", readerService);
+ runner.addControllerService(READER_ID, readerService);
runner.enableControllerService(readerService);
- runner.addControllerService("writer", writerService);
+ runner.addControllerService(WRITER_ID, writerService);
runner.enableControllerService(writerService);
runner.setProperty(ConvertRecord.INCLUDE_ZERO_RECORD_FLOWFILES,
"false");
- runner.setProperty(ConvertRecord.RECORD_READER, "reader");
- runner.setProperty(ConvertRecord.RECORD_WRITER, "writer");
+ runner.setProperty(ConvertRecord.RECORD_READER, READER_ID);
+ runner.setProperty(ConvertRecord.RECORD_WRITER, WRITER_ID);
readerService.addSchemaField("name", RecordFieldType.STRING);
readerService.addSchemaField("age", RecordFieldType.INT);
@@ -121,7 +139,7 @@ public class TestConvertRecord {
runner.run();
runner.assertAllFlowFilesTransferred(ConvertRecord.REL_SUCCESS, 1);
- final MockFlowFile out =
runner.getFlowFilesForRelationship(ConvertRecord.REL_SUCCESS).get(0);
+ final MockFlowFile out =
runner.getFlowFilesForRelationship(ConvertRecord.REL_SUCCESS).getFirst();
out.assertAttributeEquals("record.count", "3");
out.assertAttributeEquals("mime.type", "text/plain");
@@ -133,14 +151,13 @@ public class TestConvertRecord {
final MockRecordParser readerService = new MockRecordParser(2);
final MockRecordWriter writerService = new MockRecordWriter("header",
false);
- final TestRunner runner =
TestRunners.newTestRunner(ConvertRecord.class);
- runner.addControllerService("reader", readerService);
+ runner.addControllerService(READER_ID, readerService);
runner.enableControllerService(readerService);
- runner.addControllerService("writer", writerService);
+ runner.addControllerService(WRITER_ID, writerService);
runner.enableControllerService(writerService);
- runner.setProperty(ConvertRecord.RECORD_READER, "reader");
- runner.setProperty(ConvertRecord.RECORD_WRITER, "writer");
+ runner.setProperty(ConvertRecord.RECORD_READER, READER_ID);
+ runner.setProperty(ConvertRecord.RECORD_WRITER, WRITER_ID);
readerService.addSchemaField("name", RecordFieldType.STRING);
readerService.addSchemaField("age", RecordFieldType.INT);
@@ -154,7 +171,7 @@ public class TestConvertRecord {
// Original FlowFile should be routed to 'failure' relationship
without modification
runner.assertAllFlowFilesTransferred(ConvertRecord.REL_FAILURE, 1);
- final MockFlowFile out =
runner.getFlowFilesForRelationship(ConvertRecord.REL_FAILURE).get(0);
+ final MockFlowFile out =
runner.getFlowFilesForRelationship(ConvertRecord.REL_FAILURE).getFirst();
out.assertContentEquals(original.toByteArray());
out.assertAttributeEquals("record.error.message", "Intentional Unit
Test Exception because 2 records have been read");
}
@@ -165,14 +182,13 @@ public class TestConvertRecord {
final MockRecordParser readerService = new MockRecordParser();
final MockRecordWriter writerService = new MockRecordWriter("header",
false, 2);
- final TestRunner runner =
TestRunners.newTestRunner(ConvertRecord.class);
- runner.addControllerService("reader", readerService);
+ runner.addControllerService(READER_ID, readerService);
runner.enableControllerService(readerService);
- runner.addControllerService("writer", writerService);
+ runner.addControllerService(WRITER_ID, writerService);
runner.enableControllerService(writerService);
- runner.setProperty(ConvertRecord.RECORD_READER, "reader");
- runner.setProperty(ConvertRecord.RECORD_WRITER, "writer");
+ runner.setProperty(ConvertRecord.RECORD_READER, READER_ID);
+ runner.setProperty(ConvertRecord.RECORD_WRITER, WRITER_ID);
readerService.addSchemaField("name", RecordFieldType.STRING);
readerService.addSchemaField("age", RecordFieldType.INT);
@@ -186,42 +202,39 @@ public class TestConvertRecord {
// Original FlowFile should be routed to 'failure' relationship
without modification
runner.assertAllFlowFilesTransferred(ConvertRecord.REL_FAILURE, 1);
- final MockFlowFile out =
runner.getFlowFilesForRelationship(ConvertRecord.REL_FAILURE).get(0);
+ final MockFlowFile out =
runner.getFlowFilesForRelationship(ConvertRecord.REL_FAILURE).getFirst();
out.assertContentEquals(original.toByteArray());
out.assertAttributeEquals("record.error.message", "Unit Test
intentionally throwing IOException after 2 records were written");
}
@Test
public void testJSONCompression() throws InitializationException,
IOException {
- final TestRunner runner =
TestRunners.newTestRunner(ConvertRecord.class);
final JsonTreeReader jsonReader = new JsonTreeReader();
- runner.addControllerService("reader", jsonReader);
-
- final String inputSchemaText = new
String(Files.readAllBytes(Paths.get("src/test/resources/TestConvertRecord/schema/person.avsc")));
- final String outputSchemaText = new
String(Files.readAllBytes(Paths.get("src/test/resources/TestConvertRecord/schema/person.avsc")));
+ runner.addControllerService(READER_ID, jsonReader);
runner.setProperty(jsonReader,
SchemaAccessUtils.SCHEMA_ACCESS_STRATEGY,
SchemaAccessUtils.SCHEMA_TEXT_PROPERTY);
- runner.setProperty(jsonReader, SchemaAccessUtils.SCHEMA_TEXT,
inputSchemaText);
+ runner.setProperty(jsonReader, SchemaAccessUtils.SCHEMA_TEXT,
PERSON_SCHEMA);
runner.enableControllerService(jsonReader);
final JsonRecordSetWriter jsonWriter = new JsonRecordSetWriter();
- runner.addControllerService("writer", jsonWriter);
+ runner.addControllerService(WRITER_ID, jsonWriter);
runner.setProperty(jsonWriter,
SchemaAccessUtils.SCHEMA_ACCESS_STRATEGY,
SchemaAccessUtils.SCHEMA_TEXT_PROPERTY);
- runner.setProperty(jsonWriter, SchemaAccessUtils.SCHEMA_TEXT,
outputSchemaText);
- runner.setProperty(jsonWriter, "Pretty Print JSON", "true");
+ runner.setProperty(jsonWriter, SchemaAccessUtils.SCHEMA_TEXT,
PERSON_SCHEMA);
+ runner.setProperty(jsonWriter, JsonRecordSetWriter.PRETTY_PRINT_JSON,
"true");
runner.setProperty(jsonWriter, "Schema Write Strategy",
"full-schema-attribute");
- runner.setProperty(jsonWriter, "compression-format", "snappy");
+ runner.setProperty(jsonWriter, JsonRecordSetWriter.COMPRESSION_FORMAT,
"snappy");
runner.enableControllerService(jsonWriter);
-
runner.enqueue(Paths.get("src/test/resources/TestConvertRecord/input/person.json"));
+ final Path person =
Paths.get("src/test/resources/TestConvertRecord/input/person.json");
+ runner.enqueue(person);
- runner.setProperty(ConvertRecord.RECORD_READER, "reader");
- runner.setProperty(ConvertRecord.RECORD_WRITER, "writer");
+ runner.setProperty(ConvertRecord.RECORD_READER, READER_ID);
+ runner.setProperty(ConvertRecord.RECORD_WRITER, WRITER_ID);
runner.run();
runner.assertAllFlowFilesTransferred(ConvertRecord.REL_SUCCESS, 1);
- MockFlowFile flowFile =
runner.getFlowFilesForRelationship(ConvertRecord.REL_SUCCESS).get(0);
+ final MockFlowFile flowFile =
runner.getFlowFilesForRelationship(ConvertRecord.REL_SUCCESS).getFirst();
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
try (final SnappyInputStream sis = new SnappyInputStream(new
ByteArrayInputStream(flowFile.toByteArray())); final OutputStream out = baos) {
@@ -232,13 +245,11 @@ public class TestConvertRecord {
out.flush();
}
- assertEquals(new
String(Files.readAllBytes(Paths.get("src/test/resources/TestConvertRecord/input/person.json"))),
baos.toString(StandardCharsets.UTF_8.name()));
+ assertEquals(Files.readString(person),
baos.toString(StandardCharsets.UTF_8));
}
@Test
public void testCSVFormattingWithEL() throws InitializationException {
- TestRunner runner = TestRunners.newTestRunner(ConvertRecord.class);
-
CSVReader csvReader = new CSVReader();
runner.addControllerService("csv-reader", csvReader);
runner.setProperty(csvReader, CSVUtils.VALUE_SEPARATOR,
"${csv.in.delimiter}");
@@ -257,9 +268,11 @@ public class TestConvertRecord {
runner.setProperty(ConvertRecord.RECORD_READER, "csv-reader");
runner.setProperty(ConvertRecord.RECORD_WRITER, "csv-writer");
- String ffContent = "~ comment\n" +
- "id|username|password\n" +
- "123|'John'|^|^'^^\n";
+ String ffContent = """
+ ~ comment
+ id|username|password
+ 123|'John'|^|^'^^
+ """;
Map<String, String> ffAttributes = new HashMap<>();
ffAttributes.put("csv.in.delimiter", "|");
@@ -274,38 +287,36 @@ public class TestConvertRecord {
runner.assertAllFlowFilesTransferred(ConvertRecord.REL_SUCCESS, 1);
- MockFlowFile flowFile =
runner.getFlowFilesForRelationship(ConvertRecord.REL_SUCCESS).get(0);
+ final MockFlowFile flowFile =
runner.getFlowFilesForRelationship(ConvertRecord.REL_SUCCESS).getFirst();
- String expected = "`id`\t`username`\t`password`\n" +
- "`123`\t`John`\t`|'^`\n";
+ String expected = """
+ `id`\t`username`\t`password`
+ `123`\t`John`\t`|'^`
+ """;
assertEquals(expected, new String(flowFile.toByteArray()));
}
@Test
public void testJSONLongToInt() throws InitializationException,
IOException {
- final TestRunner runner =
TestRunners.newTestRunner(ConvertRecord.class);
final JsonTreeReader jsonReader = new JsonTreeReader();
- runner.addControllerService("reader", jsonReader);
-
- final String inputSchemaText = new
String(Files.readAllBytes(Paths.get("src/test/resources/TestConvertRecord/schema/person.avsc")));
- final String outputSchemaText = new
String(Files.readAllBytes(Paths.get("src/test/resources/TestConvertRecord/schema/person.avsc")));
+ runner.addControllerService(READER_ID, jsonReader);
runner.setProperty(jsonReader,
SchemaAccessUtils.SCHEMA_ACCESS_STRATEGY,
SchemaAccessUtils.SCHEMA_TEXT_PROPERTY);
- runner.setProperty(jsonReader, SchemaAccessUtils.SCHEMA_TEXT,
inputSchemaText);
+ runner.setProperty(jsonReader, SchemaAccessUtils.SCHEMA_TEXT,
PERSON_SCHEMA);
runner.enableControllerService(jsonReader);
final JsonRecordSetWriter jsonWriter = new JsonRecordSetWriter();
- runner.addControllerService("writer", jsonWriter);
+ runner.addControllerService(WRITER_ID, jsonWriter);
runner.setProperty(jsonWriter,
SchemaAccessUtils.SCHEMA_ACCESS_STRATEGY,
SchemaAccessUtils.SCHEMA_TEXT_PROPERTY);
- runner.setProperty(jsonWriter, SchemaAccessUtils.SCHEMA_TEXT,
outputSchemaText);
- runner.setProperty(jsonWriter, "Pretty Print JSON", "true");
+ runner.setProperty(jsonWriter, SchemaAccessUtils.SCHEMA_TEXT,
PERSON_SCHEMA);
+ runner.setProperty(jsonWriter, JsonRecordSetWriter.PRETTY_PRINT_JSON,
"true");
runner.setProperty(jsonWriter, "Schema Write Strategy",
"full-schema-attribute");
runner.enableControllerService(jsonWriter);
runner.enqueue(Paths.get("src/test/resources/TestConvertRecord/input/person_long_id.json"));
- runner.setProperty(ConvertRecord.RECORD_READER, "reader");
- runner.setProperty(ConvertRecord.RECORD_WRITER, "writer");
+ runner.setProperty(ConvertRecord.RECORD_READER, READER_ID);
+ runner.setProperty(ConvertRecord.RECORD_WRITER, WRITER_ID);
runner.run();
runner.assertAllFlowFilesTransferred(ConvertRecord.REL_FAILURE, 1);
@@ -313,27 +324,23 @@ public class TestConvertRecord {
@Test
public void testEnumBadValue() throws InitializationException, IOException
{
- final TestRunner runner =
TestRunners.newTestRunner(ConvertRecord.class);
final JsonTreeReader jsonReader = new JsonTreeReader();
- runner.addControllerService("reader", jsonReader);
-
- final String inputSchemaText = new
String(Files.readAllBytes(Paths.get("src/test/resources/TestConvertRecord/schema/person.avsc")));
- final String outputSchemaText = new
String(Files.readAllBytes(Paths.get("src/test/resources/TestConvertRecord/schema/person.avsc")));
+ runner.addControllerService(READER_ID, jsonReader);
runner.setProperty(jsonReader,
SchemaAccessUtils.SCHEMA_ACCESS_STRATEGY,
SchemaAccessUtils.SCHEMA_TEXT_PROPERTY);
- runner.setProperty(jsonReader, SchemaAccessUtils.SCHEMA_TEXT,
inputSchemaText);
+ runner.setProperty(jsonReader, SchemaAccessUtils.SCHEMA_TEXT,
PERSON_SCHEMA);
runner.enableControllerService(jsonReader);
final AvroRecordSetWriter avroWriter = new AvroRecordSetWriter();
- runner.addControllerService("writer", avroWriter);
+ runner.addControllerService(WRITER_ID, avroWriter);
runner.setProperty(avroWriter,
SchemaAccessUtils.SCHEMA_ACCESS_STRATEGY,
SchemaAccessUtils.SCHEMA_TEXT_PROPERTY);
- runner.setProperty(avroWriter, SchemaAccessUtils.SCHEMA_TEXT,
outputSchemaText);
+ runner.setProperty(avroWriter, SchemaAccessUtils.SCHEMA_TEXT,
PERSON_SCHEMA);
runner.enableControllerService(avroWriter);
runner.enqueue(Paths.get("src/test/resources/TestConvertRecord/input/person_bad_enum.json"));
- runner.setProperty(ConvertRecord.RECORD_READER, "reader");
- runner.setProperty(ConvertRecord.RECORD_WRITER, "writer");
+ runner.setProperty(ConvertRecord.RECORD_READER, READER_ID);
+ runner.setProperty(ConvertRecord.RECORD_WRITER, WRITER_ID);
runner.run();
@@ -342,27 +349,25 @@ public class TestConvertRecord {
@Test
public void testEnumUnionString() throws InitializationException,
IOException {
- final TestRunner runner =
TestRunners.newTestRunner(ConvertRecord.class);
final JsonTreeReader jsonReader = new JsonTreeReader();
- runner.addControllerService("reader", jsonReader);
+ runner.addControllerService(READER_ID, jsonReader);
- final String inputSchemaText = new
String(Files.readAllBytes(Paths.get("src/test/resources/TestConvertRecord/schema/person_with_union_enum_string.avsc")));
- final String outputSchemaText = new
String(Files.readAllBytes(Paths.get("src/test/resources/TestConvertRecord/schema/person_with_union_enum_string.avsc")));
+ final String personWithUnionEnumStringSchema =
Files.readString(Paths.get("src/test/resources/TestConvertRecord/schema/person_with_union_enum_string.avsc"));
runner.setProperty(jsonReader,
SchemaAccessUtils.SCHEMA_ACCESS_STRATEGY,
SchemaAccessUtils.SCHEMA_TEXT_PROPERTY);
- runner.setProperty(jsonReader, SchemaAccessUtils.SCHEMA_TEXT,
inputSchemaText);
+ runner.setProperty(jsonReader, SchemaAccessUtils.SCHEMA_TEXT,
personWithUnionEnumStringSchema);
runner.enableControllerService(jsonReader);
final AvroRecordSetWriter avroWriter = new AvroRecordSetWriter();
- runner.addControllerService("writer", avroWriter);
+ runner.addControllerService(WRITER_ID, avroWriter);
runner.setProperty(avroWriter,
SchemaAccessUtils.SCHEMA_ACCESS_STRATEGY,
SchemaAccessUtils.SCHEMA_TEXT_PROPERTY);
- runner.setProperty(avroWriter, SchemaAccessUtils.SCHEMA_TEXT,
outputSchemaText);
+ runner.setProperty(avroWriter, SchemaAccessUtils.SCHEMA_TEXT,
personWithUnionEnumStringSchema);
runner.enableControllerService(avroWriter);
runner.enqueue(Paths.get("src/test/resources/TestConvertRecord/input/person_bad_enum.json"));
- runner.setProperty(ConvertRecord.RECORD_READER, "reader");
- runner.setProperty(ConvertRecord.RECORD_WRITER, "writer");
+ runner.setProperty(ConvertRecord.RECORD_READER, READER_ID);
+ runner.setProperty(ConvertRecord.RECORD_WRITER, WRITER_ID);
runner.run();
@@ -374,8 +379,6 @@ public class TestConvertRecord {
final String timezone = System.getProperty("user.timezone");
System.setProperty("user.timezone", "EST");
try {
- TestRunner runner = TestRunners.newTestRunner(ConvertRecord.class);
-
JsonTreeReader jsonTreeReader = new JsonTreeReader();
runner.addControllerService("json-reader", jsonTreeReader);
runner.setProperty(jsonTreeReader, DateTimeUtils.DATE_FORMAT,
"yyyy-MM-dd");
@@ -394,7 +397,7 @@ public class TestConvertRecord {
runner.assertAllFlowFilesTransferred(ConvertRecord.REL_SUCCESS, 1);
- MockFlowFile flowFile =
runner.getFlowFilesForRelationship(ConvertRecord.REL_SUCCESS).get(0);
+ final MockFlowFile flowFile =
runner.getFlowFilesForRelationship(ConvertRecord.REL_SUCCESS).getFirst();
DataFileStream<GenericRecord> avroStream = new
DataFileStream<>(flowFile.getContentStream(), new NonCachingDatumReader<>());
assertTrue(avroStream.hasNext());
@@ -407,34 +410,30 @@ public class TestConvertRecord {
}
@Test
- public void testJSONDroppingUnkownFields() throws InitializationException,
IOException {
- final TestRunner runner =
TestRunners.newTestRunner(ConvertRecord.class);
+ public void testJSONDroppingUnknownFields() throws
InitializationException, IOException {
final JsonTreeReader jsonReader = new JsonTreeReader();
- runner.addControllerService("reader", jsonReader);
-
- final String inputSchemaText = new
String(Files.readAllBytes(Paths.get("src/test/resources/TestConvertRecord/schema/person.avsc")));
- final String outputSchemaText = new
String(Files.readAllBytes(Paths.get("src/test/resources/TestConvertRecord/schema/person.avsc")));
+ runner.addControllerService(READER_ID, jsonReader);
runner.setProperty(jsonReader,
SchemaAccessUtils.SCHEMA_ACCESS_STRATEGY,
SchemaAccessUtils.SCHEMA_TEXT_PROPERTY);
- runner.setProperty(jsonReader, SchemaAccessUtils.SCHEMA_TEXT,
inputSchemaText);
+ runner.setProperty(jsonReader, SchemaAccessUtils.SCHEMA_TEXT,
PERSON_SCHEMA);
runner.enableControllerService(jsonReader);
final JsonRecordSetWriter jsonWriter = new JsonRecordSetWriter();
- runner.addControllerService("writer", jsonWriter);
+ runner.addControllerService(WRITER_ID, jsonWriter);
runner.setProperty(jsonWriter,
SchemaAccessUtils.SCHEMA_ACCESS_STRATEGY,
SchemaAccessUtils.SCHEMA_TEXT_PROPERTY);
- runner.setProperty(jsonWriter, SchemaAccessUtils.SCHEMA_TEXT,
outputSchemaText);
+ runner.setProperty(jsonWriter, SchemaAccessUtils.SCHEMA_TEXT,
PERSON_SCHEMA);
runner.setProperty(jsonWriter, "Schema Write Strategy",
"full-schema-attribute");
runner.enableControllerService(jsonWriter);
runner.enqueue(Paths.get("src/test/resources/TestConvertRecord/input/person_dropfield.json"));
- runner.setProperty(ConvertRecord.RECORD_READER, "reader");
- runner.setProperty(ConvertRecord.RECORD_WRITER, "writer");
+ runner.setProperty(ConvertRecord.RECORD_READER, READER_ID);
+ runner.setProperty(ConvertRecord.RECORD_WRITER, WRITER_ID);
runner.run();
runner.assertAllFlowFilesTransferred(ConvertRecord.REL_SUCCESS, 1);
- MockFlowFile flowFile =
runner.getFlowFilesForRelationship(ConvertRecord.REL_SUCCESS).get(0);
- assertFalse(new
String(flowFile.toByteArray()).contains("fieldThatShouldBeRemoved"));
+ final MockFlowFile flowFile =
runner.getFlowFilesForRelationship(ConvertRecord.REL_SUCCESS).getFirst();
+
assertFalse(flowFile.getContent().contains("fieldThatShouldBeRemoved"));
}
}