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 @@
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.3.0
+
+
+ copy
+ process-test-resources
+
+ copy
+
+
+
+
+ org.apache.commons
+ commons-math3
+ 3.6.1
+ jar
+ true
+ ${project.build.testOutputDirectory}/jar
+
+
+
+
+
+
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);
+ setScriptProperties();
+ runner.assertValid();
- 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);
-
- List descriptors = processor.getSupportedPropertyDescriptors();
+ List 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);
+ setScriptProperties();
+ runner.assertValid();
- 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);
-
- Set relationships = processor.getRelationships();
+ Set 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