This is an automated email from the ASF dual-hosted git repository. exceptionfactory pushed a commit to branch NIFI-15318-1 in repository https://gitbox.apache.org/repos/asf/nifi.git
commit 588cde2d313d22cf7e55d9a7195991b828a94b63 Author: exceptionfactory <[email protected]> AuthorDate: Tue Dec 9 21:15:12 2025 -0600 NIFI-15317 Fixed Script Engine property name migration - Reverted Script Language property name to Script Engine - Added migrate properties method to scripting components to cover released versions - Added unit tests for migrate properties in representative components Signed-off-by: Pierre Villard <[email protected]> This closes #10623. (cherry picked from commit 6e866b85db640cea63887ef016134ee2340998d6) --- .../nifi/processors/script/ExecuteScript.java | 5 ++++ .../processors/script/InvokeScriptedProcessor.java | 6 ++++ .../processors/script/ScriptedRecordProcessor.java | 9 ++---- .../reporting/script/ScriptedReportingTask.java | 6 ++++ .../script/AbstractScriptedControllerService.java | 6 ++++ .../nifi/script/ScriptingComponentHelper.java | 33 ++++++++++++++++------ .../processors/script/ExecuteScriptGroovyTest.java | 20 ++++++++++++- .../script/TestScriptingComponentHelper.java | 32 +++++++++++++++++++-- .../nifi/record/script/ScriptedReaderTest.java | 20 +++++++++++++ .../script/ScriptedReportingTaskTest.java | 33 ++++++++++++++++++++-- 10 files changed, 149 insertions(+), 21 deletions(-) diff --git a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ExecuteScript.java b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ExecuteScript.java index 277a79e507..865e255949 100644 --- a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ExecuteScript.java +++ b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ExecuteScript.java @@ -37,6 +37,7 @@ import org.apache.nifi.components.ValidationResult; import org.apache.nifi.components.state.Scope; import org.apache.nifi.expression.ExpressionLanguageScope; import org.apache.nifi.logging.ComponentLog; +import org.apache.nifi.migration.PropertyConfiguration; import org.apache.nifi.processor.AbstractSessionFactoryProcessor; import org.apache.nifi.processor.ProcessContext; import org.apache.nifi.processor.ProcessSession; @@ -100,6 +101,10 @@ public class ExecuteScript extends AbstractSessionFactoryProcessor implements Se private volatile String scriptToRun = null; volatile ScriptingComponentHelper scriptingComponentHelper = new ScriptingComponentHelper(); + @Override + public void migrateProperties(final PropertyConfiguration config) { + ScriptingComponentHelper.migrateProperties(config); + } /** * Returns the valid relationships for this processor. diff --git a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/InvokeScriptedProcessor.java b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/InvokeScriptedProcessor.java index afb9308f13..f96e5d5594 100644 --- a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/InvokeScriptedProcessor.java +++ b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/InvokeScriptedProcessor.java @@ -42,6 +42,7 @@ import org.apache.nifi.controller.ControllerServiceLookup; import org.apache.nifi.controller.NodeTypeProvider; import org.apache.nifi.expression.ExpressionLanguageScope; import org.apache.nifi.logging.ComponentLog; +import org.apache.nifi.migration.PropertyConfiguration; import org.apache.nifi.processor.AbstractSessionFactoryProcessor; import org.apache.nifi.processor.ProcessContext; import org.apache.nifi.processor.ProcessSessionFactory; @@ -106,6 +107,11 @@ public class InvokeScriptedProcessor extends AbstractSessionFactoryProcessor { private volatile File kerberosServiceKeytab = null; volatile ScriptingComponentHelper scriptingComponentHelper = new ScriptingComponentHelper(); + @Override + public void migrateProperties(final PropertyConfiguration config) { + ScriptingComponentHelper.migrateProperties(config); + } + /** * Returns the valid relationships for this processor as supplied by the * script itself. diff --git a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ScriptedRecordProcessor.java b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ScriptedRecordProcessor.java index 6272ac9087..88bb16b276 100644 --- a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ScriptedRecordProcessor.java +++ b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ScriptedRecordProcessor.java @@ -70,12 +70,9 @@ abstract class ScriptedRecordProcessor extends AbstractProcessor implements Sear .identifiesControllerService(RecordSetWriterFactory.class) .build(); - static final PropertyDescriptor LANGUAGE = new PropertyDescriptor.Builder() - .name(ScriptingComponentHelper.SCRIPT_ENGINE_PROPERTY) - .description("The Language to use for the script") + static final PropertyDescriptor LANGUAGE = ScriptingComponentHelper.getScriptEnginePropertyBuilder() .allowableValues(SCRIPT_OPTIONS) .defaultValue("Groovy") - .required(true) .build(); protected static final List<PropertyDescriptor> PROPERTY_DESCRIPTORS = List.of( @@ -140,8 +137,8 @@ abstract class ScriptedRecordProcessor extends AbstractProcessor implements Sear } @Override - public void migrateProperties(PropertyConfiguration config) { - config.renameProperty("Script Engine", LANGUAGE.getName()); + public void migrateProperties(final PropertyConfiguration config) { + ScriptingComponentHelper.migrateProperties(config); } protected static Bindings setupBindings(final ScriptEngine scriptEngine) { diff --git a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/reporting/script/ScriptedReportingTask.java b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/reporting/script/ScriptedReportingTask.java index c90099da36..dc48a37c8a 100644 --- a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/reporting/script/ScriptedReportingTask.java +++ b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/reporting/script/ScriptedReportingTask.java @@ -32,6 +32,7 @@ import org.apache.nifi.controller.ConfigurationContext; import org.apache.nifi.expression.ExpressionLanguageScope; import org.apache.nifi.logging.ComponentLog; import org.apache.nifi.metrics.jvm.JmxJvmMetrics; +import org.apache.nifi.migration.PropertyConfiguration; import org.apache.nifi.processor.exception.ProcessException; import org.apache.nifi.processor.util.StandardValidators; import org.apache.nifi.processors.script.ScriptRunner; @@ -79,6 +80,11 @@ public class ScriptedReportingTask extends AbstractReportingTask { private volatile String scriptToRun = null; private volatile JmxJvmMetrics vmMetrics; + @Override + public void migrateProperties(final PropertyConfiguration config) { + ScriptingComponentHelper.migrateProperties(config); + } + /** * Returns a list of property descriptors supported by this processor. The list always includes properties such as * script engine name, script file name, script body name, script arguments, and an external module path. If the diff --git a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/AbstractScriptedControllerService.java b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/AbstractScriptedControllerService.java index 174f3dcd65..8931039ab6 100644 --- a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/AbstractScriptedControllerService.java +++ b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/AbstractScriptedControllerService.java @@ -25,6 +25,7 @@ import org.apache.nifi.controller.AbstractControllerService; import org.apache.nifi.controller.ConfigurationContext; import org.apache.nifi.expression.ExpressionLanguageScope; import org.apache.nifi.logging.ComponentLog; +import org.apache.nifi.migration.PropertyConfiguration; import org.apache.nifi.processor.util.StandardValidators; import org.apache.nifi.processors.script.ScriptRunner; import org.apache.nifi.util.StringUtils; @@ -52,6 +53,11 @@ public abstract class AbstractScriptedControllerService extends AbstractControll protected volatile ScriptingComponentHelper scriptingComponentHelper = new ScriptingComponentHelper(); protected volatile ConfigurationContext configurationContext = null; + @Override + public void migrateProperties(final PropertyConfiguration config) { + ScriptingComponentHelper.migrateProperties(config); + } + /** * Returns a list of property descriptors supported by this record reader. The * list always includes properties such as script engine name, script file diff --git a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/ScriptingComponentHelper.java b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/ScriptingComponentHelper.java index f6d23c6517..21f255a2fc 100644 --- a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/ScriptingComponentHelper.java +++ b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/ScriptingComponentHelper.java @@ -24,6 +24,7 @@ import org.apache.nifi.components.resource.ResourceReferences; import org.apache.nifi.context.PropertyContext; import org.apache.nifi.expression.ExpressionLanguageScope; import org.apache.nifi.logging.ComponentLog; +import org.apache.nifi.migration.PropertyConfiguration; import org.apache.nifi.processor.exception.ProcessException; import org.apache.nifi.processors.script.ScriptRunner; import org.apache.nifi.util.StringUtils; @@ -43,6 +44,7 @@ import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; @@ -54,9 +56,11 @@ import static org.apache.commons.lang3.StringUtils.defaultIfBlank; * This class contains variables and methods common to scripting processors, reporting tasks, etc. */ public class ScriptingComponentHelper { - public static final String SCRIPT_ENGINE_PROPERTY = "Script Language"; private static final String UNKNOWN_VERSION = "UNKNOWN"; + private static final String SCRIPT_ENGINE_PROPERTY_NAME = "Script Engine"; + private static final String SCRIPT_LANGUAGE_PROPERTY_NAME = "Script Language"; + public PropertyDescriptor SCRIPT_ENGINE; public final AtomicBoolean isInitialized = new AtomicBoolean(false); @@ -71,6 +75,25 @@ public class ScriptingComponentHelper { public BlockingQueue<ScriptRunner> scriptRunnerQ = null; + /** + * Get Property Descriptor Builder for Script Engine with standard settings and no default value configured + * + * @return Property Descriptor Builder + */ + public static PropertyDescriptor.Builder getScriptEnginePropertyBuilder() { + return new PropertyDescriptor.Builder() + .name("Script Engine") + .required(true) + .description("Language Engine for executing scripts") + .expressionLanguageSupported(ExpressionLanguageScope.NONE); + } + + public static void migrateProperties(final PropertyConfiguration configuration) { + Objects.requireNonNull(configuration, "Property Configuration required"); + // Revert name changes from NIFI-15108 + configuration.renameProperty(SCRIPT_LANGUAGE_PROPERTY_NAME, SCRIPT_ENGINE_PROPERTY_NAME); + } + public String getScriptEngineName() { return scriptEngineName; } @@ -175,13 +198,7 @@ public class ScriptingComponentHelper { engineAllowableValues = engineList; AllowableValue[] engines = engineList.toArray(new AllowableValue[0]); - final PropertyDescriptor.Builder enginePropertyBuilder = new PropertyDescriptor.Builder() - .name(SCRIPT_ENGINE_PROPERTY) - .required(true) - .description("Language Engine for executing scripts") - .required(true) - .expressionLanguageSupported(ExpressionLanguageScope.NONE); - + final PropertyDescriptor.Builder enginePropertyBuilder = getScriptEnginePropertyBuilder(); if (engineList.isEmpty()) { enginePropertyBuilder.description("No Script Engines found"); } else { diff --git a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/ExecuteScriptGroovyTest.java b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/ExecuteScriptGroovyTest.java index 0febf5c18f..eebdd7d20a 100644 --- a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/ExecuteScriptGroovyTest.java +++ b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/ExecuteScriptGroovyTest.java @@ -16,15 +16,19 @@ */ package org.apache.nifi.processors.script; +import org.apache.nifi.script.ScriptingComponentHelper; import org.apache.nifi.script.ScriptingComponentUtils; import org.apache.nifi.util.MockFlowFile; import org.apache.nifi.util.MockProcessContext; +import org.apache.nifi.util.PropertyMigrationResult; import org.apache.nifi.util.TestRunners; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import java.util.Map; import java.util.regex.Pattern; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -32,7 +36,7 @@ class ExecuteScriptGroovyTest extends BaseScriptTest { private static final Pattern SINGLE_POOL_THREAD_PATTERN = Pattern.compile("pool-\\d+-thread-1"); @BeforeEach - public void setUp() throws Exception { + public void setUp() { super.setupExecuteScript(); runner.setValidateExpressionUsage(false); runner.setProperty(scriptingComponent.getScriptingComponentHelper().SCRIPT_ENGINE, "Groovy"); @@ -40,6 +44,20 @@ class ExecuteScriptGroovyTest extends BaseScriptTest { runner.setProperty(ScriptingComponentUtils.MODULES, TEST_RESOURCE_LOCATION + "groovy"); } + @Test + void testMigrateProperties() { + runner.clearProperties(); + + final String scriptLanguage = "Script Language"; + runner.setProperty(scriptLanguage, "Groovy"); + + final PropertyMigrationResult result = runner.migrateProperties(); + + final Map<String, String> propertiesRenamed = result.getPropertiesRenamed(); + final String scriptLanguageRenamed = propertiesRenamed.get(scriptLanguage); + assertEquals(ScriptingComponentHelper.getScriptEnginePropertyBuilder().build().getName(), scriptLanguageRenamed); + } + @Test void testShouldExecuteScript() { runner.assertValid(); diff --git a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestScriptingComponentHelper.java b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestScriptingComponentHelper.java index 8cf55d79ff..79f733f96a 100644 --- a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestScriptingComponentHelper.java +++ b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestScriptingComponentHelper.java @@ -19,25 +19,35 @@ package org.apache.nifi.processors.script; import org.apache.nifi.components.AllowableValue; import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.script.ScriptingComponentHelper; +import org.apache.nifi.util.MockPropertyConfiguration; +import org.apache.nifi.util.PropertyMigrationResult; import org.junit.jupiter.api.Test; import java.util.List; +import java.util.Map; import java.util.Optional; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; -public class TestScriptingComponentHelper { +class TestScriptingComponentHelper { + + private static final String SCRIPT_LANGUAGE = "Script Language"; + private static final String SCRIPT_ENGINE = "Script Engine"; + private static final String CONFIGURED_SCRIPT_ENGINE = "AWK"; @Test - public void testScriptEngineAllowableValuesWithDescriptions() { + void testScriptEngineAllowableValuesWithDescriptions() { final ScriptingComponentHelper helper = new ScriptingComponentHelper(); helper.createResources(); final List<PropertyDescriptor> descriptors = helper.getDescriptors(); final Optional<PropertyDescriptor> optionalScriptEngine = descriptors.stream().filter( - descriptor -> descriptor.getName().equals(ScriptingComponentHelper.SCRIPT_ENGINE_PROPERTY) + descriptor -> descriptor.getName().equals( + ScriptingComponentHelper.getScriptEnginePropertyBuilder().build().getName() + ) ).findFirst(); assertTrue(optionalScriptEngine.isPresent()); @@ -50,4 +60,20 @@ public class TestScriptingComponentHelper { assertNotNull(allowableValue.getDescription()); } } + + @Test + void testMigrateProperties() { + final Map<String, String> propertyValues = Map.of( + SCRIPT_LANGUAGE, CONFIGURED_SCRIPT_ENGINE + ); + final MockPropertyConfiguration configuration = new MockPropertyConfiguration(propertyValues); + + ScriptingComponentHelper.migrateProperties(configuration); + + final PropertyMigrationResult result = configuration.toPropertyMigrationResult(); + final Map<String, String> propertiesRenamed = result.getPropertiesRenamed(); + + final String scriptLanguageRenamed = propertiesRenamed.get(SCRIPT_LANGUAGE); + assertEquals(SCRIPT_ENGINE, scriptLanguageRenamed); + } } diff --git a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/record/script/ScriptedReaderTest.java b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/record/script/ScriptedReaderTest.java index af2a044ed4..1e683cba15 100644 --- a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/record/script/ScriptedReaderTest.java +++ b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/record/script/ScriptedReaderTest.java @@ -22,7 +22,9 @@ import org.apache.nifi.script.ScriptingComponentUtils; import org.apache.nifi.serialization.RecordReader; import org.apache.nifi.serialization.record.Record; import org.apache.nifi.util.MockComponentLog; +import org.apache.nifi.util.MockPropertyConfiguration; import org.apache.nifi.util.NoOpProcessor; +import org.apache.nifi.util.PropertyMigrationResult; import org.apache.nifi.util.TestRunner; import org.apache.nifi.util.TestRunners; import org.junit.jupiter.api.AfterAll; @@ -80,6 +82,24 @@ class ScriptedReaderTest { runner.setProperty(recordReaderFactory, ScriptingComponentUtils.MODULES, (String) null); } + @Test + void testMigrateProperties() { + final String scriptLanguage = "Script Language"; + final Map<String, String> propertyValues = Map.of( + scriptLanguage, "Groovy" + ); + final MockPropertyConfiguration configuration = new MockPropertyConfiguration(propertyValues); + + final ScriptedReader scriptedReader = new ScriptedReader(); + scriptedReader.migrateProperties(configuration); + + final PropertyMigrationResult result = configuration.toPropertyMigrationResult(); + + final Map<String, String> propertiesRenamed = result.getPropertiesRenamed(); + final String scriptLanguageRenamed = propertiesRenamed.get(scriptLanguage); + assertEquals(ScriptingComponentHelper.getScriptEnginePropertyBuilder().build().getName(), scriptLanguageRenamed); + } + @Test void testRecordReaderGroovyScript() throws Exception { Files.copy(Paths.get(SOURCE_DIR, GROOVY_DIR, "test_record_reader_inline.groovy"), targetScriptFile, StandardCopyOption.REPLACE_EXISTING); diff --git a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/reporting/script/ScriptedReportingTaskTest.java b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/reporting/script/ScriptedReportingTaskTest.java index 51d8033a40..6efab579d7 100644 --- a/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/reporting/script/ScriptedReportingTaskTest.java +++ b/nifi-extension-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/reporting/script/ScriptedReportingTaskTest.java @@ -27,7 +27,9 @@ import org.apache.nifi.script.ScriptingComponentHelper; import org.apache.nifi.script.ScriptingComponentUtils; import org.apache.nifi.util.MockConfigurationContext; import org.apache.nifi.util.MockEventAccess; +import org.apache.nifi.util.MockPropertyConfiguration; import org.apache.nifi.util.MockReportingContext; +import org.apache.nifi.util.PropertyMigrationResult; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -69,17 +71,35 @@ class ScriptedReportingTaskTest { private MockReportingContext reportingContext; @BeforeEach - public void setUp(@Mock ComponentLog logger) { + public void setUp() { task = new MockScriptedReportingTask(); properties = new HashMap<>(); configurationContext = new MockConfigurationContext(properties, null, null); reportingContext = new MockReportingContext(new LinkedHashMap<>(), null); - when(initContext.getIdentifier()).thenReturn(UUID.randomUUID().toString()); - when(initContext.getLogger()).thenReturn(logger); + } + + @Test + void testMigrateProperties() { + final String scriptLanguage = "Script Language"; + final Map<String, String> propertyValues = Map.of( + scriptLanguage, "Groovy" + ); + final MockPropertyConfiguration configuration = new MockPropertyConfiguration(propertyValues); + + final ScriptedReportingTask scriptedReportingTask = new ScriptedReportingTask(); + scriptedReportingTask.migrateProperties(configuration); + + final PropertyMigrationResult result = configuration.toPropertyMigrationResult(); + + final Map<String, String> propertiesRenamed = result.getPropertiesRenamed(); + final String scriptLanguageRenamed = propertiesRenamed.get(scriptLanguage); + assertEquals(ScriptingComponentHelper.getScriptEnginePropertyBuilder().build().getName(), scriptLanguageRenamed); } @Test void testProvenanceGroovyScript() throws Exception { + setInitializationContext(); + properties.put(SCRIPT_ENGINE_PROPERTY_DESCRIPTOR, GROOVY); Files.copy(Paths.get("src/test/resources/groovy/test_log_provenance_events.groovy"), targetPath, StandardCopyOption.REPLACE_EXISTING); properties.put(ScriptingComponentUtils.SCRIPT_FILE, targetPath.toString()); @@ -111,6 +131,8 @@ class ScriptedReportingTaskTest { @Test void testVMEventsGroovyScript() throws Exception { + setInitializationContext(); + properties.put(SCRIPT_ENGINE_PROPERTY_DESCRIPTOR, GROOVY); Files.copy(Paths.get("src/test/resources/groovy/test_log_vm_stats.groovy"), targetPath, StandardCopyOption.REPLACE_EXISTING); properties.put(ScriptingComponentUtils.SCRIPT_FILE, targetPath.toString()); @@ -126,6 +148,11 @@ class ScriptedReportingTaskTest { assertTrue(x.get("uptime") >= 0); } + private void setInitializationContext() { + when(initContext.getIdentifier()).thenReturn(UUID.randomUUID().toString()); + when(initContext.getLogger()).thenReturn(mock(ComponentLog.class)); + } + private void run() throws Exception { task.initialize(initContext); task.getSupportedPropertyDescriptors();
