This is an automated email from the ASF dual-hosted git repository. mattyb149 pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/nifi.git
commit 8b08795e18f69825e2b73760af79ab0530f93d70 Author: exceptionfactory <[email protected]> AuthorDate: Tue Apr 26 20:48:46 2022 -0500 NIFI-9944 Configured maven-dependency-plugin for JavaScript test JAR Signed-off-by: Matthew Burgess <[email protected]> This closes #5997 --- .../nifi-scripting-processors/pom.xml | 26 +++++++++ .../processors/script/TestInvokeJavascript.java | 62 ++++++++++----------- .../src/test/resources/jar/commons-math3-3.2.jar | Bin 1692782 -> 0 bytes 3 files changed, 55 insertions(+), 33 deletions(-) diff --git a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/pom.xml b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/pom.xml index 1808a39b6e..6cf490f7db 100644 --- a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/pom.xml +++ b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/pom.xml @@ -163,6 +163,32 @@ </excludes> </configuration> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>3.3.0</version> + <executions> + <execution> + <id>copy</id> + <phase>process-test-resources</phase> + <goals> + <goal>copy</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.apache.commons</groupId> + <artifactId>commons-math3</artifactId> + <version>3.6.1</version> + <type>jar</type> + <overWrite>true</overWrite> + <outputDirectory>${project.build.testOutputDirectory}/jar</outputDirectory> + </artifactItem> + </artifactItems> + </configuration> + </execution> + </executions> + </plugin> </plugins> </build> </project> diff --git a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestInvokeJavascript.java b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestInvokeJavascript.java index c56612bd2a..6955c57349 100644 --- a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestInvokeJavascript.java +++ b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestInvokeJavascript.java @@ -20,9 +20,6 @@ import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.processor.Relationship; import org.apache.nifi.script.ScriptingComponentUtils; import org.apache.nifi.util.MockFlowFile; -import org.apache.nifi.util.MockProcessContext; -import org.apache.nifi.util.MockProcessorInitializationContext; -import org.apache.nifi.util.MockValidationContext; import org.apache.nifi.util.TestRunner; import org.apache.nifi.util.TestRunners; import org.junit.jupiter.api.BeforeEach; @@ -30,8 +27,13 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.DisabledForJreRange; import org.junit.jupiter.api.condition.JRE; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; import java.nio.charset.StandardCharsets; +import java.nio.file.Paths; import java.util.List; +import java.util.Objects; import java.util.Set; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -56,9 +58,7 @@ public class TestInvokeJavascript extends BaseScriptTest { */ @Test public void testReadFlowFileContentAndStoreInFlowFileAttribute() { - runner.setProperty(scriptingComponent.getScriptingComponentHelper().SCRIPT_ENGINE, "ECMAScript"); - runner.setProperty(ScriptingComponentUtils.SCRIPT_FILE, "target/test/resources/javascript/test_reader.js"); - runner.setProperty(ScriptingComponentUtils.MODULES, "target/test/resources/jar"); + setScriptProperties(); runner.assertValid(); runner.enqueue("test content".getBytes(StandardCharsets.UTF_8)); @@ -78,20 +78,10 @@ public class TestInvokeJavascript extends BaseScriptTest { */ @Test public void testScriptDefinedAttribute() { - InvokeScriptedProcessor processor = new InvokeScriptedProcessor(); - MockProcessContext context = new MockProcessContext(processor); - MockProcessorInitializationContext initContext = new MockProcessorInitializationContext(processor, context); - - processor.initialize(initContext); - - context.setProperty(scriptingComponent.getScriptingComponentHelper().SCRIPT_ENGINE, "ECMAScript"); - context.setProperty(ScriptingComponentUtils.SCRIPT_FILE, "target/test/resources/javascript/test_reader.js"); - context.setProperty(ScriptingComponentUtils.MODULES, "target/test/resources/jar"); - // State Manger is unused, and a null reference is specified - processor.customValidate(new MockValidationContext(context)); - processor.setup(context); + setScriptProperties(); + runner.assertValid(); - List<PropertyDescriptor> descriptors = processor.getSupportedPropertyDescriptors(); + List<PropertyDescriptor> descriptors = runner.getProcessor().getPropertyDescriptors(); assertNotNull(descriptors); assertTrue(descriptors.size() > 0); boolean found = false; @@ -113,21 +103,10 @@ public class TestInvokeJavascript extends BaseScriptTest { */ @Test public void testScriptDefinedRelationshipWithExternalJar() { - InvokeScriptedProcessor processor = new InvokeScriptedProcessor(); - MockProcessContext context = new MockProcessContext(processor); - MockProcessorInitializationContext initContext = new MockProcessorInitializationContext(processor, context); - - processor.initialize(initContext); - - context.setProperty(scriptingComponent.getScriptingComponentHelper().SCRIPT_ENGINE, "ECMAScript"); - context.setProperty(ScriptingComponentUtils.SCRIPT_FILE, "target/test/resources/javascript/test_reader.js"); - context.setProperty(ScriptingComponentUtils.MODULES, "target/test/resources/jar"); - - // State Manger is unused, and a null reference is specified - processor.customValidate(new MockValidationContext(context)); - processor.setup(context); + setScriptProperties(); + runner.assertValid(); - Set<Relationship> relationships = processor.getRelationships(); + Set<Relationship> relationships = runner.getProcessor().getRelationships(); assertNotNull(relationships); assertTrue(relationships.size() > 0); boolean found = false; @@ -188,4 +167,21 @@ public class TestInvokeJavascript extends BaseScriptTest { runner.setProperty(ScriptingComponentUtils.SCRIPT_BODY, ""); runner.assertNotValid(); } + + private void setScriptProperties() { + runner.setProperty(scriptingComponent.getScriptingComponentHelper().SCRIPT_ENGINE, "ECMAScript"); + runner.setProperty(ScriptingComponentUtils.SCRIPT_FILE, getResource("/javascript/test_reader.js")); + runner.setProperty(ScriptingComponentUtils.MODULES, getResource("/jar")); + } + + private String getResource(final String resourcePath) { + final URL resourceUrl = Objects.requireNonNull(TestInvokeJavascript.class.getResource(resourcePath), resourcePath); + final URI resourceUri; + try { + resourceUri = resourceUrl.toURI(); + } catch (final URISyntaxException e) { + throw new RuntimeException(e); + } + return Paths.get(resourceUri).toString(); + } } diff --git a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/resources/jar/commons-math3-3.2.jar b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/resources/jar/commons-math3-3.2.jar deleted file mode 100644 index f8b7db295b..0000000000 Binary files a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/resources/jar/commons-math3-3.2.jar and /dev/null differ
