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

Reply via email to