NIFI-3853 fixing tests to properly encapsulate their environments

This closes #1822.

Signed-off-by: Bryan Bende <bbende@apache.org>
This commit is contained in:
joewitt 2017-05-18 09:31:56 -04:00 committed by Bryan Bende
parent 36e7bd6164
commit be67f3552b
No known key found for this signature in database
GPG Key ID: A0DDA9ED50711C39
10 changed files with 581 additions and 58 deletions

View File

@ -40,10 +40,9 @@ class StandardFlowSynchronizerSpec extends Specification {
def systemBundle; def systemBundle;
def setupSpec() { def setupSpec() {
def propFile = StandardFlowSynchronizerSpec.class.getResource("/nifi.properties").getFile() def propFile = StandardFlowSynchronizerSpec.class.getResource("/standardflowsynchronizerspec.nifi.properties").getFile()
System.setProperty NiFiProperties.PROPERTIES_FILE_PATH, propFile
def niFiProperties = NiFiProperties.createBasicNiFiProperties(null, null); def niFiProperties = NiFiProperties.createBasicNiFiProperties(propFile, null);
systemBundle = SystemBundle.create(niFiProperties); systemBundle = SystemBundle.create(niFiProperties);
ExtensionManager.discoverExtensions(systemBundle, Collections.emptySet()); ExtensionManager.discoverExtensions(systemBundle, Collections.emptySet());
} }

View File

@ -83,6 +83,7 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import org.apache.commons.io.FileUtils;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
@ -92,7 +93,6 @@ import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
public class TestFlowController { public class TestFlowController {
private FlowController controller; private FlowController controller;
@ -104,10 +104,10 @@ public class TestFlowController {
private Bundle systemBundle; private Bundle systemBundle;
private BulletinRepository bulletinRepo; private BulletinRepository bulletinRepo;
private VariableRegistry variableRegistry; private VariableRegistry variableRegistry;
private volatile String propsFile = TestFlowController.class.getResource("/flowcontrollertest.nifi.properties").getFile();
@Before @Before
public void setup() { public void setup() {
System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, TestFlowController.class.getResource("/nifi.properties").getFile());
flowFileEventRepo = Mockito.mock(FlowFileEventRepository.class); flowFileEventRepo = Mockito.mock(FlowFileEventRepository.class);
auditService = Mockito.mock(AuditService.class); auditService = Mockito.mock(AuditService.class);
@ -115,7 +115,7 @@ public class TestFlowController {
otherProps.put(NiFiProperties.PROVENANCE_REPO_IMPLEMENTATION_CLASS, MockProvenanceRepository.class.getName()); otherProps.put(NiFiProperties.PROVENANCE_REPO_IMPLEMENTATION_CLASS, MockProvenanceRepository.class.getName());
otherProps.put("nifi.remote.input.socket.port", ""); otherProps.put("nifi.remote.input.socket.port", "");
otherProps.put("nifi.remote.input.secure", ""); otherProps.put("nifi.remote.input.secure", "");
nifiProperties = NiFiProperties.createBasicNiFiProperties(null, otherProps); nifiProperties = NiFiProperties.createBasicNiFiProperties(propsFile, otherProps);
encryptor = StringEncryptor.createEncryptor(nifiProperties); encryptor = StringEncryptor.createEncryptor(nifiProperties);
// use the system bundle // use the system bundle
@ -166,8 +166,9 @@ public class TestFlowController {
} }
@After @After
public void cleanup() { public void cleanup() throws Exception {
controller.shutdown(true); controller.shutdown(true);
FileUtils.deleteDirectory(new File("./target/flowcontrollertest"));
} }
@Test @Test
@ -487,34 +488,34 @@ public class TestFlowController {
} }
@Test @Test
public void testProcessorDefaultScheduleAnnotation() throws ProcessorInstantiationException,ClassNotFoundException,InstantiationException,IllegalAccessException { public void testProcessorDefaultScheduleAnnotation() throws ProcessorInstantiationException, ClassNotFoundException, InstantiationException, IllegalAccessException {
ProcessorNode p_scheduled = controller.createProcessor(DummyScheduledProcessor.class.getName(),"1234-ScheduledProcessor", ProcessorNode p_scheduled = controller.createProcessor(DummyScheduledProcessor.class.getName(), "1234-ScheduledProcessor",
systemBundle.getBundleDetails().getCoordinate()); systemBundle.getBundleDetails().getCoordinate());
assertEquals(5,p_scheduled.getMaxConcurrentTasks()); assertEquals(5, p_scheduled.getMaxConcurrentTasks());
assertEquals(SchedulingStrategy.CRON_DRIVEN,p_scheduled.getSchedulingStrategy()); assertEquals(SchedulingStrategy.CRON_DRIVEN, p_scheduled.getSchedulingStrategy());
assertEquals("0 0 0 1/1 * ?",p_scheduled.getSchedulingPeriod()); assertEquals("0 0 0 1/1 * ?", p_scheduled.getSchedulingPeriod());
assertEquals("1 sec",p_scheduled.getYieldPeriod()); assertEquals("1 sec", p_scheduled.getYieldPeriod());
assertEquals("30 sec",p_scheduled.getPenalizationPeriod()); assertEquals("30 sec", p_scheduled.getPenalizationPeriod());
assertEquals(LogLevel.WARN,p_scheduled.getBulletinLevel()); assertEquals(LogLevel.WARN, p_scheduled.getBulletinLevel());
} }
@Test @Test
public void testReportingTaskDefaultScheduleAnnotation() throws ReportingTaskInstantiationException { public void testReportingTaskDefaultScheduleAnnotation() throws ReportingTaskInstantiationException {
ReportingTaskNode p_scheduled = controller.createReportingTask(DummyScheduledReportingTask.class.getName(), systemBundle.getBundleDetails().getCoordinate()); ReportingTaskNode p_scheduled = controller.createReportingTask(DummyScheduledReportingTask.class.getName(), systemBundle.getBundleDetails().getCoordinate());
assertEquals(SchedulingStrategy.CRON_DRIVEN,p_scheduled.getSchedulingStrategy()); assertEquals(SchedulingStrategy.CRON_DRIVEN, p_scheduled.getSchedulingStrategy());
assertEquals("0 0 0 1/1 * ?",p_scheduled.getSchedulingPeriod()); assertEquals("0 0 0 1/1 * ?", p_scheduled.getSchedulingPeriod());
} }
@Test @Test
public void testProcessorDefaultSettingsAnnotation() throws ProcessorInstantiationException,ClassNotFoundException { public void testProcessorDefaultSettingsAnnotation() throws ProcessorInstantiationException, ClassNotFoundException {
ProcessorNode p_settings = controller.createProcessor(DummySettingsProcessor.class.getName(),"1234-SettingsProcessor", systemBundle.getBundleDetails().getCoordinate()); ProcessorNode p_settings = controller.createProcessor(DummySettingsProcessor.class.getName(), "1234-SettingsProcessor", systemBundle.getBundleDetails().getCoordinate());
assertEquals("5 sec",p_settings.getYieldPeriod()); assertEquals("5 sec", p_settings.getYieldPeriod());
assertEquals("1 min",p_settings.getPenalizationPeriod()); assertEquals("1 min", p_settings.getPenalizationPeriod());
assertEquals(LogLevel.DEBUG,p_settings.getBulletinLevel()); assertEquals(LogLevel.DEBUG, p_settings.getBulletinLevel());
assertEquals(1,p_settings.getMaxConcurrentTasks()); assertEquals(1, p_settings.getMaxConcurrentTasks());
assertEquals(SchedulingStrategy.TIMER_DRIVEN,p_settings.getSchedulingStrategy()); assertEquals(SchedulingStrategy.TIMER_DRIVEN, p_settings.getSchedulingStrategy());
assertEquals("0 sec",p_settings.getSchedulingPeriod()); assertEquals("0 sec", p_settings.getSchedulingPeriod());
} }
@Test @Test
@ -546,7 +547,7 @@ public class TestFlowController {
assertEquals(5, processorNode.getMaxConcurrentTasks()); assertEquals(5, processorNode.getMaxConcurrentTasks());
assertEquals(SchedulingStrategy.CRON_DRIVEN, processorNode.getSchedulingStrategy()); assertEquals(SchedulingStrategy.CRON_DRIVEN, processorNode.getSchedulingStrategy());
assertEquals("0 0 0 1/1 * ?",processorNode.getSchedulingPeriod()); assertEquals("0 0 0 1/1 * ?", processorNode.getSchedulingPeriod());
assertEquals("1 sec", processorNode.getYieldPeriod()); assertEquals("1 sec", processorNode.getYieldPeriod());
assertEquals("30 sec", processorNode.getPenalizationPeriod()); assertEquals("30 sec", processorNode.getPenalizationPeriod());
assertEquals(LogLevel.WARN, processorNode.getBulletinLevel()); assertEquals(LogLevel.WARN, processorNode.getBulletinLevel());

View File

@ -87,18 +87,17 @@ public class TestProcessorLifecycle {
private static final Logger logger = LoggerFactory.getLogger(TestProcessorLifecycle.class); private static final Logger logger = LoggerFactory.getLogger(TestProcessorLifecycle.class);
private FlowController fc; private FlowController fc;
private Map<String,String> properties = new HashMap<>(); private Map<String,String> properties = new HashMap<>();
private volatile String propsFile = TestProcessorLifecycle.class.getResource("/lifecycletest.nifi.properties").getFile();
@Before @Before
public void before() throws Exception { public void before() throws Exception {
System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, TestProcessorLifecycle.class.getResource("/nifi.properties").getFile());
properties.put("P", "hello"); properties.put("P", "hello");
} }
@After @After
public void after() throws Exception { public void after() throws Exception {
fc.shutdown(true); fc.shutdown(true);
FileUtils.deleteDirectory(new File("./target/test-repo")); FileUtils.deleteDirectory(new File("./target/lifecycletest"));
FileUtils.deleteDirectory(new File("./target/content_repository"));
} }
@Test @Test
@ -730,7 +729,7 @@ public class TestProcessorLifecycle {
if (propKey != null && propValue != null) { if (propKey != null && propValue != null) {
addProps.put(propKey, propValue); addProps.put(propKey, propValue);
} }
final NiFiProperties nifiProperties = NiFiProperties.createBasicNiFiProperties(null, addProps); final NiFiProperties nifiProperties = NiFiProperties.createBasicNiFiProperties(propsFile, addProps);
final Bundle systemBundle = SystemBundle.create(nifiProperties); final Bundle systemBundle = SystemBundle.create(nifiProperties);
ExtensionManager.discoverExtensions(systemBundle, Collections.emptySet()); ExtensionManager.discoverExtensions(systemBundle, Collections.emptySet());

View File

@ -16,6 +16,7 @@
*/ */
package org.apache.nifi.controller.scheduling; package org.apache.nifi.controller.scheduling;
import java.io.File;
import org.apache.nifi.annotation.lifecycle.OnDisabled; import org.apache.nifi.annotation.lifecycle.OnDisabled;
import org.apache.nifi.annotation.lifecycle.OnEnabled; import org.apache.nifi.annotation.lifecycle.OnEnabled;
import org.apache.nifi.annotation.lifecycle.OnScheduled; import org.apache.nifi.annotation.lifecycle.OnScheduled;
@ -77,6 +78,8 @@ import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import org.apache.commons.io.FileUtils;
import org.junit.After;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
@ -93,11 +96,11 @@ public class TestStandardProcessScheduler {
private ProcessGroup rootGroup; private ProcessGroup rootGroup;
private NiFiProperties nifiProperties; private NiFiProperties nifiProperties;
private Bundle systemBundle; private Bundle systemBundle;
private volatile String propsFile = TestStandardProcessScheduler.class.getResource("/standardprocessschedulertest.nifi.properties").getFile();
@Before @Before
public void setup() throws InitializationException { public void setup() throws InitializationException {
System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, TestStandardProcessScheduler.class.getResource("/nifi.properties").getFile()); this.nifiProperties = NiFiProperties.createBasicNiFiProperties(propsFile, null);
this.nifiProperties = NiFiProperties.createBasicNiFiProperties(null, null);
// load the system bundle // load the system bundle
systemBundle = SystemBundle.create(nifiProperties); systemBundle = SystemBundle.create(nifiProperties);
@ -122,6 +125,12 @@ public class TestStandardProcessScheduler {
Mockito.when(controller.getGroup(Mockito.anyString())).thenReturn(rootGroup); Mockito.when(controller.getGroup(Mockito.anyString())).thenReturn(rootGroup);
} }
@After
public void after() throws Exception {
controller.shutdown(true);
FileUtils.deleteDirectory(new File("./target/standardprocessschedulertest"));
}
/** /**
* We have run into an issue where a Reporting Task is scheduled to run but * We have run into an issue where a Reporting Task is scheduled to run but
* throws an Exception from a method with the @OnScheduled annotation. User * throws an Exception from a method with the @OnScheduled annotation. User
@ -155,8 +164,8 @@ public class TestStandardProcessScheduler {
final ReloadComponent reloadComponent = Mockito.mock(ReloadComponent.class); final ReloadComponent reloadComponent = Mockito.mock(ReloadComponent.class);
final StandardControllerServiceProvider serviceProvider = final StandardControllerServiceProvider serviceProvider
new StandardControllerServiceProvider(controller, scheduler, null, Mockito.mock(StateManagerProvider.class), variableRegistry, nifiProperties); = new StandardControllerServiceProvider(controller, scheduler, null, Mockito.mock(StateManagerProvider.class), variableRegistry, nifiProperties);
final ControllerServiceNode service = serviceProvider.createControllerService(NoStartServiceImpl.class.getName(), "service", final ControllerServiceNode service = serviceProvider.createControllerService(NoStartServiceImpl.class.getName(), "service",
systemBundle.getBundleDetails().getCoordinate(), null, true); systemBundle.getBundleDetails().getCoordinate(), null, true);
rootGroup.addControllerService(service); rootGroup.addControllerService(service);
@ -167,7 +176,7 @@ public class TestStandardProcessScheduler {
scheduler, serviceProvider, nifiProperties, VariableRegistry.EMPTY_REGISTRY, reloadComponent); scheduler, serviceProvider, nifiProperties, VariableRegistry.EMPTY_REGISTRY, reloadComponent);
rootGroup.addProcessor(procNode); rootGroup.addProcessor(procNode);
Map<String,String> procProps = new HashMap<>(); Map<String, String> procProps = new HashMap<>();
procProps.put(ServiceReferencingProcessor.SERVICE_DESC.getName(), service.getIdentifier()); procProps.put(ServiceReferencingProcessor.SERVICE_DESC.getName(), service.getIdentifier());
procNode.setProperties(procProps); procNode.setProperties(procProps);

View File

@ -23,7 +23,6 @@ import org.apache.nifi.bundle.Bundle;
import org.apache.nifi.controller.DummyScheduledProcessor; import org.apache.nifi.controller.DummyScheduledProcessor;
import org.apache.nifi.controller.FlowController; import org.apache.nifi.controller.FlowController;
import org.apache.nifi.controller.ProcessorNode; import org.apache.nifi.controller.ProcessorNode;
import org.apache.nifi.controller.TestFlowController;
import org.apache.nifi.controller.repository.FlowFileEventRepository; import org.apache.nifi.controller.repository.FlowFileEventRepository;
import org.apache.nifi.encrypt.StringEncryptor; import org.apache.nifi.encrypt.StringEncryptor;
import org.apache.nifi.nar.ExtensionManager; import org.apache.nifi.nar.ExtensionManager;
@ -38,21 +37,25 @@ import org.junit.Test;
import org.mockito.Mockito; import org.mockito.Mockito;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.File;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import org.apache.commons.io.FileUtils;
import org.junit.After;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
public class StandardFlowSerializerTest { public class StandardFlowSerializerTest {
private static final String RAW_COMMENTS = private static final String RAW_COMMENTS
"<tagName> \"This\" is an ' example with many characters that need to be filtered and escaped \u0002 in it. \u007f \u0086 " + Character.MIN_SURROGATE; = "<tagName> \"This\" is an ' example with many characters that need to be filtered and escaped \u0002 in it. \u007f \u0086 " + Character.MIN_SURROGATE;
private static final String SERIALIZED_COMMENTS = private static final String SERIALIZED_COMMENTS
"&lt;tagName&gt; \"This\" is an ' example with many characters that need to be filtered and escaped in it. &#127; &#134; "; = "&lt;tagName&gt; \"This\" is an ' example with many characters that need to be filtered and escaped in it. &#127; &#134; ";
private volatile String propsFile = StandardFlowSerializerTest.class.getResource("/standardflowserializertest.nifi.properties").getFile();
private FlowController controller; private FlowController controller;
private Bundle systemBundle; private Bundle systemBundle;
@ -60,15 +63,13 @@ public class StandardFlowSerializerTest {
@Before @Before
public void setUp() throws Exception { public void setUp() throws Exception {
System.setProperty(NiFiProperties.PROPERTIES_FILE_PATH, TestFlowController.class.getResource("/nifi.properties").getFile());
final FlowFileEventRepository flowFileEventRepo = Mockito.mock(FlowFileEventRepository.class); final FlowFileEventRepository flowFileEventRepo = Mockito.mock(FlowFileEventRepository.class);
final AuditService auditService = Mockito.mock(AuditService.class); final AuditService auditService = Mockito.mock(AuditService.class);
final Map<String, String> otherProps = new HashMap<>(); final Map<String, String> otherProps = new HashMap<>();
otherProps.put(NiFiProperties.PROVENANCE_REPO_IMPLEMENTATION_CLASS, MockProvenanceRepository.class.getName()); otherProps.put(NiFiProperties.PROVENANCE_REPO_IMPLEMENTATION_CLASS, MockProvenanceRepository.class.getName());
otherProps.put("nifi.remote.input.socket.port", ""); otherProps.put("nifi.remote.input.socket.port", "");
otherProps.put("nifi.remote.input.secure", ""); otherProps.put("nifi.remote.input.secure", "");
final NiFiProperties nifiProperties = NiFiProperties.createBasicNiFiProperties(null, otherProps); final NiFiProperties nifiProperties = NiFiProperties.createBasicNiFiProperties(propsFile, otherProps);
final StringEncryptor encryptor = StringEncryptor.createEncryptor(nifiProperties); final StringEncryptor encryptor = StringEncryptor.createEncryptor(nifiProperties);
// use the system bundle // use the system bundle
@ -84,6 +85,12 @@ public class StandardFlowSerializerTest {
serializer = new StandardFlowSerializer(encryptor); serializer = new StandardFlowSerializer(encryptor);
} }
@After
public void after() throws Exception {
controller.shutdown(true);
FileUtils.deleteDirectory(new File("./target/standardflowserializertest"));
}
@Test @Test
public void testSerializationEscapingAndFiltering() throws Exception { public void testSerializationEscapingAndFiltering() throws Exception {
final ProcessorNode dummy = controller.createProcessor(DummyScheduledProcessor.class.getName(), UUID.randomUUID().toString(), systemBundle.getBundleDetails().getCoordinate()); final ProcessorNode dummy = controller.createProcessor(DummyScheduledProcessor.class.getName(), UUID.randomUUID().toString(), systemBundle.getBundleDetails().getCoordinate());

View File

@ -0,0 +1,127 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Core Properties #
nifi.flow.configuration.file=./target/flowcontrollertest/flow.xml.gz
nifi.flow.configuration.archive.dir=./target/flowcontrollertest/archive/
nifi.flowcontroller.autoResumeState=true
nifi.flowcontroller.graceful.shutdown.period=10 sec
nifi.flowservice.writedelay.interval=2 sec
nifi.administrative.yield.duration=500 millis
nifi.reporting.task.configuration.file=./target/flowcontrollertest/reporting-tasks.xml
nifi.controller.service.configuration.file=./target/flowcontrollertest/controller-services.xml
nifi.templates.directory=./target/flowcontrollertest/templates
nifi.ui.banner.text=UI Banner Text
nifi.ui.autorefresh.interval=30 sec
nifi.nar.library.directory=./target/flowcontrollertest/lib
nifi.nar.working.directory=./target/flowcontrollertest/work/nar/
nifi.state.management.configuration.file=src/test/resources/state-management.xml
nifi.state.management.provider.local=local-provider
# H2 Settings
nifi.database.directory=./target/flowcontrollertest/database_repository
nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE
# FlowFile Repository
nifi.flowfile.repository.directory=./target/flowcontrollertest/test-repo
nifi.flowfile.repository.partitions=1
nifi.flowfile.repository.checkpoint.interval=2 mins
nifi.queue.swap.threshold=20000
nifi.swap.storage.directory=./target/flowcontrollertest/test-repo/swap
nifi.swap.in.period=5 sec
nifi.swap.in.threads=1
nifi.swap.out.period=5 sec
nifi.swap.out.threads=4
# Content Repository
nifi.content.claim.max.appendable.size=10 MB
nifi.content.claim.max.flow.files=100
nifi.content.repository.directory.default=./target/flowcontrollertest/content_repository
nifi.content.repository.archive.enabled=true
nifi.content.repository.archive.max.usage.percentage=95%
# Provenance Repository Properties
nifi.provenance.repository.storage.directory=./target/flowcontrollertest/provenance_repository
nifi.provenance.repository.max.storage.time=24 hours
nifi.provenance.repository.max.storage.size=1 GB
nifi.provenance.repository.rollover.time=30 secs
nifi.provenance.repository.rollover.size=100 MB
# Site to Site properties
nifi.remote.input.socket.port=9990
nifi.remote.input.secure=true
# web properties #
nifi.web.war.directory=./target/flowcontrollertest/lib
nifi.web.http.host=
nifi.web.http.port=8080
nifi.web.https.host=
nifi.web.https.port=
nifi.web.jetty.working.directory=./target/flowcontrollertest/work/jetty
# security properties #
nifi.sensitive.props.key=key
nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL
nifi.sensitive.props.provider=BC
nifi.security.keystore=
nifi.security.keystoreType=
nifi.security.keystorePasswd=
nifi.security.keyPasswd=
nifi.security.truststore=
nifi.security.truststoreType=
nifi.security.truststorePasswd=
nifi.security.needClientAuth=
nifi.security.user.authorizer=
# cluster common properties (cluster manager and nodes must have same values) #
nifi.cluster.protocol.heartbeat.interval=5 sec
nifi.cluster.protocol.is.secure=false
nifi.cluster.protocol.socket.timeout=30 sec
nifi.cluster.protocol.connection.handshake.timeout=45 sec
# if multicast is used, then nifi.cluster.protocol.multicast.xxx properties must be configured #
nifi.cluster.protocol.use.multicast=false
nifi.cluster.protocol.multicast.address=
nifi.cluster.protocol.multicast.port=
nifi.cluster.protocol.multicast.service.broadcast.delay=500 ms
nifi.cluster.protocol.multicast.service.locator.attempts=3
nifi.cluster.protocol.multicast.service.locator.attempts.delay=1 sec
# cluster node properties (only configure for cluster nodes) #
nifi.cluster.is.node=false
nifi.cluster.node.address=
nifi.cluster.node.protocol.port=
nifi.cluster.node.protocol.threads=2
# if multicast is not used, nifi.cluster.node.unicast.xxx must have same values as nifi.cluster.manager.xxx #
nifi.cluster.node.unicast.manager.address=
nifi.cluster.node.unicast.manager.protocol.port=
nifi.cluster.node.unicast.manager.authority.provider.port=
# cluster manager properties (only configure for cluster manager) #
nifi.cluster.is.manager=false
nifi.cluster.manager.address=
nifi.cluster.manager.protocol.port=
nifi.cluster.manager.authority.provider.port=
nifi.cluster.manager.authority.provider.threads=10
nifi.cluster.manager.node.firewall.file=
nifi.cluster.manager.node.event.history.size=10
nifi.cluster.manager.node.api.connection.timeout=30 sec
nifi.cluster.manager.node.api.read.timeout=30 sec
nifi.cluster.manager.node.api.request.threads=10
nifi.cluster.manager.flow.retrieval.delay=5 sec
nifi.cluster.manager.protocol.threads=10
nifi.cluster.manager.safemode.duration=0 sec

View File

@ -14,34 +14,34 @@
# limitations under the License. # limitations under the License.
# Core Properties # # Core Properties #
nifi.flow.configuration.file=./target/flow.xml.gz nifi.flow.configuration.file=./target/lifecycletest/flow.xml.gz
nifi.flow.configuration.archive.dir=./target/archive/ nifi.flow.configuration.archive.dir=./target/lifecycletest/archive/
nifi.flowcontroller.autoResumeState=true nifi.flowcontroller.autoResumeState=true
nifi.flowcontroller.graceful.shutdown.period=10 sec nifi.flowcontroller.graceful.shutdown.period=10 sec
nifi.flowservice.writedelay.interval=2 sec nifi.flowservice.writedelay.interval=2 sec
nifi.administrative.yield.duration=500 millis nifi.administrative.yield.duration=500 millis
nifi.reporting.task.configuration.file=./target/reporting-tasks.xml nifi.reporting.task.configuration.file=./target/lifecycletest/reporting-tasks.xml
nifi.controller.service.configuration.file=./target/controller-services.xml nifi.controller.service.configuration.file=./target/lifecycletest/controller-services.xml
nifi.templates.directory=./target/templates nifi.templates.directory=./target/lifecycletest/templates
nifi.ui.banner.text=UI Banner Text nifi.ui.banner.text=UI Banner Text
nifi.ui.autorefresh.interval=30 sec nifi.ui.autorefresh.interval=30 sec
nifi.nar.library.directory=./target/lib nifi.nar.library.directory=./target/lifecycletest/lib
nifi.nar.working.directory=./target/work/nar/ nifi.nar.working.directory=./target/lifecycletest/work/nar/
nifi.state.management.configuration.file=src/test/resources/state-management.xml nifi.state.management.configuration.file=src/test/resources/state-management.xml
nifi.state.management.provider.local=local-provider nifi.state.management.provider.local=local-provider
# H2 Settings # H2 Settings
nifi.database.directory=./database_repository nifi.database.directory=./target/lifecycletest/database_repository
nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE
# FlowFile Repository # FlowFile Repository
nifi.flowfile.repository.directory=./target/test-repo nifi.flowfile.repository.directory=./target/lifecycletest/test-repo
nifi.flowfile.repository.partitions=1 nifi.flowfile.repository.partitions=1
nifi.flowfile.repository.checkpoint.interval=2 mins nifi.flowfile.repository.checkpoint.interval=2 mins
nifi.queue.swap.threshold=20000 nifi.queue.swap.threshold=20000
nifi.swap.storage.directory=./target/test-repo/swap nifi.swap.storage.directory=./target/lifecycletest/test-repo/swap
nifi.swap.in.period=5 sec nifi.swap.in.period=5 sec
nifi.swap.in.threads=1 nifi.swap.in.threads=1
nifi.swap.out.period=5 sec nifi.swap.out.period=5 sec
@ -50,12 +50,12 @@ nifi.swap.out.threads=4
# Content Repository # Content Repository
nifi.content.claim.max.appendable.size=10 MB nifi.content.claim.max.appendable.size=10 MB
nifi.content.claim.max.flow.files=100 nifi.content.claim.max.flow.files=100
nifi.content.repository.directory.default=./target/content_repository nifi.content.repository.directory.default=./target/lifecycletest/content_repository
nifi.content.repository.archive.enabled=true nifi.content.repository.archive.enabled=true
nifi.content.repository.archive.max.usage.percentage=95% nifi.content.repository.archive.max.usage.percentage=95%
# Provenance Repository Properties # Provenance Repository Properties
nifi.provenance.repository.storage.directory=./target/provenance_repository nifi.provenance.repository.storage.directory=./target/lifecycletest/provenance_repository
nifi.provenance.repository.max.storage.time=24 hours nifi.provenance.repository.max.storage.time=24 hours
nifi.provenance.repository.max.storage.size=1 GB nifi.provenance.repository.max.storage.size=1 GB
nifi.provenance.repository.rollover.time=30 secs nifi.provenance.repository.rollover.time=30 secs
@ -66,12 +66,12 @@ nifi.remote.input.socket.port=9990
nifi.remote.input.secure=true nifi.remote.input.secure=true
# web properties # # web properties #
nifi.web.war.directory=./target/lib nifi.web.war.directory=./target/lifecycletest/lib
nifi.web.http.host= nifi.web.http.host=
nifi.web.http.port=8080 nifi.web.http.port=8080
nifi.web.https.host= nifi.web.https.host=
nifi.web.https.port= nifi.web.https.port=
nifi.web.jetty.working.directory=./target/work/jetty nifi.web.jetty.working.directory=./target/lifecycletest/work/jetty
# security properties # # security properties #
nifi.sensitive.props.key=key nifi.sensitive.props.key=key

View File

@ -0,0 +1,127 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Core Properties #
nifi.flow.configuration.file=./target/standardflowserializertest/flow.xml.gz
nifi.flow.configuration.archive.dir=./target/standardflowserializertest/archive/
nifi.flowcontroller.autoResumeState=true
nifi.flowcontroller.graceful.shutdown.period=10 sec
nifi.flowservice.writedelay.interval=2 sec
nifi.administrative.yield.duration=500 millis
nifi.reporting.task.configuration.file=./target/standardflowserializertest/reporting-tasks.xml
nifi.controller.service.configuration.file=./target/standardflowserializertest/controller-services.xml
nifi.templates.directory=./target/standardflowserializertest/templates
nifi.ui.banner.text=UI Banner Text
nifi.ui.autorefresh.interval=30 sec
nifi.nar.library.directory=./target/standardflowserializertest/lib
nifi.nar.working.directory=./target/standardflowserializertest/work/nar/
nifi.state.management.configuration.file=src/test/resources/state-management.xml
nifi.state.management.provider.local=local-provider
# H2 Settings
nifi.database.directory=./target/standardflowserializertest/database_repository
nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE
# FlowFile Repository
nifi.flowfile.repository.directory=./target/standardflowserializertest/test-repo
nifi.flowfile.repository.partitions=1
nifi.flowfile.repository.checkpoint.interval=2 mins
nifi.queue.swap.threshold=20000
nifi.swap.storage.directory=./target/standardflowserializertest/test-repo/swap
nifi.swap.in.period=5 sec
nifi.swap.in.threads=1
nifi.swap.out.period=5 sec
nifi.swap.out.threads=4
# Content Repository
nifi.content.claim.max.appendable.size=10 MB
nifi.content.claim.max.flow.files=100
nifi.content.repository.directory.default=./target/standardflowserializertest/content_repository
nifi.content.repository.archive.enabled=true
nifi.content.repository.archive.max.usage.percentage=95%
# Provenance Repository Properties
nifi.provenance.repository.storage.directory=./target/standardflowserializertest/provenance_repository
nifi.provenance.repository.max.storage.time=24 hours
nifi.provenance.repository.max.storage.size=1 GB
nifi.provenance.repository.rollover.time=30 secs
nifi.provenance.repository.rollover.size=100 MB
# Site to Site properties
nifi.remote.input.socket.port=9990
nifi.remote.input.secure=true
# web properties #
nifi.web.war.directory=./target/standardflowserializertest/lib
nifi.web.http.host=
nifi.web.http.port=8080
nifi.web.https.host=
nifi.web.https.port=
nifi.web.jetty.working.directory=./target/standardflowserializertest/work/jetty
# security properties #
nifi.sensitive.props.key=key
nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL
nifi.sensitive.props.provider=BC
nifi.security.keystore=
nifi.security.keystoreType=
nifi.security.keystorePasswd=
nifi.security.keyPasswd=
nifi.security.truststore=
nifi.security.truststoreType=
nifi.security.truststorePasswd=
nifi.security.needClientAuth=
nifi.security.user.authorizer=
# cluster common properties (cluster manager and nodes must have same values) #
nifi.cluster.protocol.heartbeat.interval=5 sec
nifi.cluster.protocol.is.secure=false
nifi.cluster.protocol.socket.timeout=30 sec
nifi.cluster.protocol.connection.handshake.timeout=45 sec
# if multicast is used, then nifi.cluster.protocol.multicast.xxx properties must be configured #
nifi.cluster.protocol.use.multicast=false
nifi.cluster.protocol.multicast.address=
nifi.cluster.protocol.multicast.port=
nifi.cluster.protocol.multicast.service.broadcast.delay=500 ms
nifi.cluster.protocol.multicast.service.locator.attempts=3
nifi.cluster.protocol.multicast.service.locator.attempts.delay=1 sec
# cluster node properties (only configure for cluster nodes) #
nifi.cluster.is.node=false
nifi.cluster.node.address=
nifi.cluster.node.protocol.port=
nifi.cluster.node.protocol.threads=2
# if multicast is not used, nifi.cluster.node.unicast.xxx must have same values as nifi.cluster.manager.xxx #
nifi.cluster.node.unicast.manager.address=
nifi.cluster.node.unicast.manager.protocol.port=
nifi.cluster.node.unicast.manager.authority.provider.port=
# cluster manager properties (only configure for cluster manager) #
nifi.cluster.is.manager=false
nifi.cluster.manager.address=
nifi.cluster.manager.protocol.port=
nifi.cluster.manager.authority.provider.port=
nifi.cluster.manager.authority.provider.threads=10
nifi.cluster.manager.node.firewall.file=
nifi.cluster.manager.node.event.history.size=10
nifi.cluster.manager.node.api.connection.timeout=30 sec
nifi.cluster.manager.node.api.read.timeout=30 sec
nifi.cluster.manager.node.api.request.threads=10
nifi.cluster.manager.flow.retrieval.delay=5 sec
nifi.cluster.manager.protocol.threads=10
nifi.cluster.manager.safemode.duration=0 sec

View File

@ -0,0 +1,127 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Core Properties #
nifi.flow.configuration.file=./target/standardflowsynchronizerspec/flow.xml.gz
nifi.flow.configuration.archive.dir=./target/standardflowsynchronizerspec/archive/
nifi.flowcontroller.autoResumeState=true
nifi.flowcontroller.graceful.shutdown.period=10 sec
nifi.flowservice.writedelay.interval=2 sec
nifi.administrative.yield.duration=500 millis
nifi.reporting.task.configuration.file=./target/standardflowsynchronizerspec/reporting-tasks.xml
nifi.controller.service.configuration.file=./target/standardflowsynchronizerspec/controller-services.xml
nifi.templates.directory=./target/standardflowsynchronizerspec/templates
nifi.ui.banner.text=UI Banner Text
nifi.ui.autorefresh.interval=30 sec
nifi.nar.library.directory=./target/standardflowsynchronizerspec/lib
nifi.nar.working.directory=./target/standardflowsynchronizerspec/work/nar/
nifi.state.management.configuration.file=src/test/resources/state-management.xml
nifi.state.management.provider.local=local-provider
# H2 Settings
nifi.database.directory=./target/standardflowsynchronizerspec/database_repository
nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE
# FlowFile Repository
nifi.flowfile.repository.directory=./target/standardflowsynchronizerspec/test-repo
nifi.flowfile.repository.partitions=1
nifi.flowfile.repository.checkpoint.interval=2 mins
nifi.queue.swap.threshold=20000
nifi.swap.storage.directory=./target/standardflowsynchronizerspec/test-repo/swap
nifi.swap.in.period=5 sec
nifi.swap.in.threads=1
nifi.swap.out.period=5 sec
nifi.swap.out.threads=4
# Content Repository
nifi.content.claim.max.appendable.size=10 MB
nifi.content.claim.max.flow.files=100
nifi.content.repository.directory.default=./target/standardflowsynchronizerspec/content_repository
nifi.content.repository.archive.enabled=true
nifi.content.repository.archive.max.usage.percentage=95%
# Provenance Repository Properties
nifi.provenance.repository.storage.directory=./target/standardflowsynchronizerspec/provenance_repository
nifi.provenance.repository.max.storage.time=24 hours
nifi.provenance.repository.max.storage.size=1 GB
nifi.provenance.repository.rollover.time=30 secs
nifi.provenance.repository.rollover.size=100 MB
# Site to Site properties
nifi.remote.input.socket.port=9990
nifi.remote.input.secure=true
# web properties #
nifi.web.war.directory=./target/standardflowsynchronizerspec/lib
nifi.web.http.host=
nifi.web.http.port=8080
nifi.web.https.host=
nifi.web.https.port=
nifi.web.jetty.working.directory=./target/standardflowsynchronizerspec/work/jetty
# security properties #
nifi.sensitive.props.key=key
nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL
nifi.sensitive.props.provider=BC
nifi.security.keystore=
nifi.security.keystoreType=
nifi.security.keystorePasswd=
nifi.security.keyPasswd=
nifi.security.truststore=
nifi.security.truststoreType=
nifi.security.truststorePasswd=
nifi.security.needClientAuth=
nifi.security.user.authorizer=
# cluster common properties (cluster manager and nodes must have same values) #
nifi.cluster.protocol.heartbeat.interval=5 sec
nifi.cluster.protocol.is.secure=false
nifi.cluster.protocol.socket.timeout=30 sec
nifi.cluster.protocol.connection.handshake.timeout=45 sec
# if multicast is used, then nifi.cluster.protocol.multicast.xxx properties must be configured #
nifi.cluster.protocol.use.multicast=false
nifi.cluster.protocol.multicast.address=
nifi.cluster.protocol.multicast.port=
nifi.cluster.protocol.multicast.service.broadcast.delay=500 ms
nifi.cluster.protocol.multicast.service.locator.attempts=3
nifi.cluster.protocol.multicast.service.locator.attempts.delay=1 sec
# cluster node properties (only configure for cluster nodes) #
nifi.cluster.is.node=false
nifi.cluster.node.address=
nifi.cluster.node.protocol.port=
nifi.cluster.node.protocol.threads=2
# if multicast is not used, nifi.cluster.node.unicast.xxx must have same values as nifi.cluster.manager.xxx #
nifi.cluster.node.unicast.manager.address=
nifi.cluster.node.unicast.manager.protocol.port=
nifi.cluster.node.unicast.manager.authority.provider.port=
# cluster manager properties (only configure for cluster manager) #
nifi.cluster.is.manager=false
nifi.cluster.manager.address=
nifi.cluster.manager.protocol.port=
nifi.cluster.manager.authority.provider.port=
nifi.cluster.manager.authority.provider.threads=10
nifi.cluster.manager.node.firewall.file=
nifi.cluster.manager.node.event.history.size=10
nifi.cluster.manager.node.api.connection.timeout=30 sec
nifi.cluster.manager.node.api.read.timeout=30 sec
nifi.cluster.manager.node.api.request.threads=10
nifi.cluster.manager.flow.retrieval.delay=5 sec
nifi.cluster.manager.protocol.threads=10
nifi.cluster.manager.safemode.duration=0 sec

View File

@ -0,0 +1,127 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Core Properties #
nifi.flow.configuration.file=./target/standardprocessschedulertest/flow.xml.gz
nifi.flow.configuration.archive.dir=./target/standardprocessschedulertest/archive/
nifi.flowcontroller.autoResumeState=true
nifi.flowcontroller.graceful.shutdown.period=10 sec
nifi.flowservice.writedelay.interval=2 sec
nifi.administrative.yield.duration=500 millis
nifi.reporting.task.configuration.file=./target/standardprocessschedulertest/reporting-tasks.xml
nifi.controller.service.configuration.file=./target/standardprocessschedulertest/controller-services.xml
nifi.templates.directory=./target/standardprocessschedulertest/templates
nifi.ui.banner.text=UI Banner Text
nifi.ui.autorefresh.interval=30 sec
nifi.nar.library.directory=./target/standardprocessschedulertest/lib
nifi.nar.working.directory=./target/standardprocessschedulertest/work/nar/
nifi.state.management.configuration.file=src/test/resources/state-management.xml
nifi.state.management.provider.local=local-provider
# H2 Settings
nifi.database.directory=./target/standardprocessschedulertest/database_repository
nifi.h2.url.append=;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE
# FlowFile Repository
nifi.flowfile.repository.directory=./target/standardprocessschedulertest/test-repo
nifi.flowfile.repository.partitions=1
nifi.flowfile.repository.checkpoint.interval=2 mins
nifi.queue.swap.threshold=20000
nifi.swap.storage.directory=./target/standardprocessschedulertest/test-repo/swap
nifi.swap.in.period=5 sec
nifi.swap.in.threads=1
nifi.swap.out.period=5 sec
nifi.swap.out.threads=4
# Content Repository
nifi.content.claim.max.appendable.size=10 MB
nifi.content.claim.max.flow.files=100
nifi.content.repository.directory.default=./target/standardprocessschedulertest/content_repository
nifi.content.repository.archive.enabled=true
nifi.content.repository.archive.max.usage.percentage=95%
# Provenance Repository Properties
nifi.provenance.repository.storage.directory=./target/standardprocessschedulertest/provenance_repository
nifi.provenance.repository.max.storage.time=24 hours
nifi.provenance.repository.max.storage.size=1 GB
nifi.provenance.repository.rollover.time=30 secs
nifi.provenance.repository.rollover.size=100 MB
# Site to Site properties
nifi.remote.input.socket.port=9990
nifi.remote.input.secure=true
# web properties #
nifi.web.war.directory=./target/standardprocessschedulertest/lib
nifi.web.http.host=
nifi.web.http.port=8080
nifi.web.https.host=
nifi.web.https.port=
nifi.web.jetty.working.directory=./target/standardprocessschedulertest/work/jetty
# security properties #
nifi.sensitive.props.key=key
nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL
nifi.sensitive.props.provider=BC
nifi.security.keystore=
nifi.security.keystoreType=
nifi.security.keystorePasswd=
nifi.security.keyPasswd=
nifi.security.truststore=
nifi.security.truststoreType=
nifi.security.truststorePasswd=
nifi.security.needClientAuth=
nifi.security.user.authorizer=
# cluster common properties (cluster manager and nodes must have same values) #
nifi.cluster.protocol.heartbeat.interval=5 sec
nifi.cluster.protocol.is.secure=false
nifi.cluster.protocol.socket.timeout=30 sec
nifi.cluster.protocol.connection.handshake.timeout=45 sec
# if multicast is used, then nifi.cluster.protocol.multicast.xxx properties must be configured #
nifi.cluster.protocol.use.multicast=false
nifi.cluster.protocol.multicast.address=
nifi.cluster.protocol.multicast.port=
nifi.cluster.protocol.multicast.service.broadcast.delay=500 ms
nifi.cluster.protocol.multicast.service.locator.attempts=3
nifi.cluster.protocol.multicast.service.locator.attempts.delay=1 sec
# cluster node properties (only configure for cluster nodes) #
nifi.cluster.is.node=false
nifi.cluster.node.address=
nifi.cluster.node.protocol.port=
nifi.cluster.node.protocol.threads=2
# if multicast is not used, nifi.cluster.node.unicast.xxx must have same values as nifi.cluster.manager.xxx #
nifi.cluster.node.unicast.manager.address=
nifi.cluster.node.unicast.manager.protocol.port=
nifi.cluster.node.unicast.manager.authority.provider.port=
# cluster manager properties (only configure for cluster manager) #
nifi.cluster.is.manager=false
nifi.cluster.manager.address=
nifi.cluster.manager.protocol.port=
nifi.cluster.manager.authority.provider.port=
nifi.cluster.manager.authority.provider.threads=10
nifi.cluster.manager.node.firewall.file=
nifi.cluster.manager.node.event.history.size=10
nifi.cluster.manager.node.api.connection.timeout=30 sec
nifi.cluster.manager.node.api.read.timeout=30 sec
nifi.cluster.manager.node.api.request.threads=10
nifi.cluster.manager.flow.retrieval.delay=5 sec
nifi.cluster.manager.protocol.threads=10
nifi.cluster.manager.safemode.duration=0 sec