You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2022/04/27 13:53:44 UTC
[nifi] 02/02: NIFI-9944 Configured maven-dependency-plugin for JavaScript test JAR
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 <ex...@apache.org>
AuthorDate: Tue Apr 26 20:48:46 2022 -0500
NIFI-9944 Configured maven-dependency-plugin for JavaScript test JAR
Signed-off-by: Matthew Burgess <ma...@apache.org>
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