You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by pv...@apache.org on 2020/01/07 08:16:17 UTC
[nifi] 02/02: NIFI-6886: Fixed SiteToSiteReportingRecordSink,
refactored mocks
This is an automated email from the ASF dual-hosted git repository.
pvillard pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git
commit 9ed4623817da0a3156db3f479741e007b8142ffe
Author: Matthew Burgess <ma...@apache.org>
AuthorDate: Mon Jan 6 13:13:31 2020 -0500
NIFI-6886: Fixed SiteToSiteReportingRecordSink, refactored mocks
Signed-off-by: Pierre Villard <pi...@gmail.com>
This closes #3959.
---
.../reporting/AbstractSiteToSiteReportingTask.java | 3 +-
.../sink/SiteToSiteReportingRecordSink.java | 4 +++
.../TestSiteToSiteBulletinReportingTask.java | 35 ++++++++++------------
.../TestSiteToSiteMetricsReportingTask.java | 31 ++++++++++---------
.../TestSiteToSiteProvenanceReportingTask.java | 30 +++++++++----------
.../TestSiteToSiteStatusReportingTask.java | 33 ++++++++++----------
6 files changed, 67 insertions(+), 69 deletions(-)
diff --git a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/AbstractSiteToSiteReportingTask.java b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/AbstractSiteToSiteReportingTask.java
index 267a058..17a4720 100644
--- a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/AbstractSiteToSiteReportingTask.java
+++ b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/AbstractSiteToSiteReportingTask.java
@@ -117,7 +117,7 @@ public abstract class AbstractSiteToSiteReportingTask extends AbstractReportingT
}
public void setup(final ReportingContext reportContext) throws IOException {
- if (siteToSiteClient != null) {
+ if (siteToSiteClient == null) {
siteToSiteClient = SiteToSiteUtils.getClient(reportContext, getLogger());
}
}
@@ -127,6 +127,7 @@ public abstract class AbstractSiteToSiteReportingTask extends AbstractReportingT
final SiteToSiteClient client = getClient();
if (client != null) {
client.close();
+ siteToSiteClient = null;
}
}
diff --git a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/sink/SiteToSiteReportingRecordSink.java b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/sink/SiteToSiteReportingRecordSink.java
index 411b9f8..5c372da 100644
--- a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/sink/SiteToSiteReportingRecordSink.java
+++ b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/sink/SiteToSiteReportingRecordSink.java
@@ -21,6 +21,7 @@ import org.apache.nifi.annotation.documentation.Tags;
import org.apache.nifi.annotation.lifecycle.OnDisabled;
import org.apache.nifi.annotation.lifecycle.OnEnabled;
import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.state.StateManager;
import org.apache.nifi.controller.AbstractControllerService;
import org.apache.nifi.controller.ConfigurationContext;
import org.apache.nifi.controller.ControllerServiceInitializationContext;
@@ -61,6 +62,7 @@ public class SiteToSiteReportingRecordSink extends AbstractControllerService imp
private List<PropertyDescriptor> properties;
private volatile SiteToSiteClient siteToSiteClient;
private volatile RecordSetWriterFactory writerFactory;
+ private volatile StateManager stateManager;
@Override
protected void init(final ControllerServiceInitializationContext context) {
@@ -79,6 +81,7 @@ public class SiteToSiteReportingRecordSink extends AbstractControllerService imp
properties.add(SiteToSiteUtils.HTTP_PROXY_USERNAME);
properties.add(SiteToSiteUtils.HTTP_PROXY_PASSWORD);
this.properties = Collections.unmodifiableList(properties);
+ this.stateManager = context.getStateManager();
}
@Override
@@ -118,6 +121,7 @@ public class SiteToSiteReportingRecordSink extends AbstractControllerService imp
.useCompression(context.getProperty(SiteToSiteUtils.COMPRESS).asBoolean())
.eventReporter(eventReporter)
.sslContext(sslContext)
+ .stateManager(stateManager)
.timeout(context.getProperty(SiteToSiteUtils.TIMEOUT).asTimePeriod(TimeUnit.MILLISECONDS), TimeUnit.MILLISECONDS)
.transportProtocol(mode)
.httpProxy(httpProxy)
diff --git a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteBulletinReportingTask.java b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteBulletinReportingTask.java
index 02708ad..9140cde 100644
--- a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteBulletinReportingTask.java
+++ b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteBulletinReportingTask.java
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -183,29 +184,25 @@ public class TestSiteToSiteBulletinReportingTask {
final List<byte[]> dataSent = new ArrayList<>();
@Override
- protected SiteToSiteClient getClient() {
- final SiteToSiteClient client = Mockito.mock(SiteToSiteClient.class);
- final Transaction transaction = Mockito.mock(Transaction.class);
-
- try {
- Mockito.doAnswer(new Answer<Object>() {
- @Override
- public Object answer(final InvocationOnMock invocation) throws Throwable {
+ public void setup(ReportingContext reportContext) throws IOException {
+ if(siteToSiteClient == null) {
+ final SiteToSiteClient client = Mockito.mock(SiteToSiteClient.class);
+ final Transaction transaction = Mockito.mock(Transaction.class);
+
+ try {
+ Mockito.doAnswer((Answer<Object>) invocation -> {
final byte[] data = invocation.getArgument(0, byte[].class);
dataSent.add(data);
return null;
- }
- }).when(transaction).send(Mockito.any(byte[].class), Mockito.anyMap());
-
- Mockito.when(client.createTransaction(Mockito.any(TransferDirection.class))).thenReturn(transaction);
- } catch (final Exception e) {
- e.printStackTrace();
- Assert.fail(e.toString());
+ }).when(transaction).send(Mockito.any(byte[].class), Mockito.any(Map.class));
+
+ when(client.createTransaction(Mockito.any(TransferDirection.class))).thenReturn(transaction);
+ } catch (final Exception e) {
+ e.printStackTrace();
+ Assert.fail(e.toString());
+ }
+ siteToSiteClient = client;
}
-
- return client;
}
-
}
-
}
diff --git a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteMetricsReportingTask.java b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteMetricsReportingTask.java
index 4bed62f..3b81c26 100644
--- a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteMetricsReportingTask.java
+++ b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteMetricsReportingTask.java
@@ -19,6 +19,7 @@ package org.apache.nifi.reporting;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
+import static org.mockito.Mockito.when;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -295,27 +296,25 @@ public class TestSiteToSiteMetricsReportingTask {
final List<byte[]> dataSent = new ArrayList<>();
@Override
- protected SiteToSiteClient getClient() {
- final SiteToSiteClient client = Mockito.mock(SiteToSiteClient.class);
- final Transaction transaction = Mockito.mock(Transaction.class);
-
- try {
- Mockito.doAnswer(new Answer<Object>() {
- @Override
- public Object answer(final InvocationOnMock invocation) throws Throwable {
+ public void setup(ReportingContext reportContext) throws IOException {
+ if(siteToSiteClient == null) {
+ final SiteToSiteClient client = Mockito.mock(SiteToSiteClient.class);
+ final Transaction transaction = Mockito.mock(Transaction.class);
+
+ try {
+ Mockito.doAnswer((Answer<Object>) invocation -> {
final byte[] data = invocation.getArgument(0, byte[].class);
dataSent.add(data);
return null;
- }
- }).when(transaction).send(Mockito.any(byte[].class), Mockito.any(Map.class));
+ }).when(transaction).send(Mockito.any(byte[].class), Mockito.any(Map.class));
- Mockito.when(client.createTransaction(Mockito.any(TransferDirection.class))).thenReturn(transaction);
- } catch (final Exception e) {
- e.printStackTrace();
- Assert.fail(e.toString());
+ when(client.createTransaction(Mockito.any(TransferDirection.class))).thenReturn(transaction);
+ } catch (final Exception e) {
+ e.printStackTrace();
+ Assert.fail(e.toString());
+ }
+ siteToSiteClient = client;
}
-
- return client;
}
}
diff --git a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteProvenanceReportingTask.java b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteProvenanceReportingTask.java
index dd153c2..5202e03 100644
--- a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteProvenanceReportingTask.java
+++ b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteProvenanceReportingTask.java
@@ -677,27 +677,25 @@ public class TestSiteToSiteProvenanceReportingTask {
final List<byte[]> dataSent = new ArrayList<>();
@Override
- protected SiteToSiteClient getClient() {
- final SiteToSiteClient client = Mockito.mock(SiteToSiteClient.class);
- final Transaction transaction = Mockito.mock(Transaction.class);
-
- try {
- Mockito.doAnswer(new Answer<Object>() {
- @Override
- public Object answer(final InvocationOnMock invocation) throws Throwable {
+ public void setup(ReportingContext reportContext) throws IOException {
+ if(siteToSiteClient == null) {
+ final SiteToSiteClient client = Mockito.mock(SiteToSiteClient.class);
+ final Transaction transaction = Mockito.mock(Transaction.class);
+
+ try {
+ Mockito.doAnswer((Answer<Object>) invocation -> {
final byte[] data = invocation.getArgument(0, byte[].class);
dataSent.add(data);
return null;
- }
- }).when(transaction).send(Mockito.any(byte[].class), Mockito.any(Map.class));
+ }).when(transaction).send(Mockito.any(byte[].class), Mockito.any(Map.class));
- when(client.createTransaction(Mockito.any(TransferDirection.class))).thenReturn(transaction);
- } catch (final Exception e) {
- e.printStackTrace();
- Assert.fail(e.toString());
+ when(client.createTransaction(Mockito.any(TransferDirection.class))).thenReturn(transaction);
+ } catch (final Exception e) {
+ e.printStackTrace();
+ Assert.fail(e.toString());
+ }
+ siteToSiteClient = client;
}
-
- return client;
}
public List<byte[]> getDataSent() {
diff --git a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteStatusReportingTask.java b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteStatusReportingTask.java
index 29bbd86..9914bf1 100644
--- a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteStatusReportingTask.java
+++ b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/test/java/org/apache/nifi/reporting/TestSiteToSiteStatusReportingTask.java
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.mockito.Mockito.when;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -532,27 +533,25 @@ public class TestSiteToSiteStatusReportingTask {
final List<byte[]> dataSent = new ArrayList<>();
@Override
- protected SiteToSiteClient getClient() {
- final SiteToSiteClient client = Mockito.mock(SiteToSiteClient.class);
- final Transaction transaction = Mockito.mock(Transaction.class);
-
- try {
- Mockito.doAnswer(new Answer<Object>() {
- @Override
- public Object answer(final InvocationOnMock invocation) throws Throwable {
+ public void setup(ReportingContext reportContext) throws IOException {
+ if(siteToSiteClient == null) {
+ final SiteToSiteClient client = Mockito.mock(SiteToSiteClient.class);
+ final Transaction transaction = Mockito.mock(Transaction.class);
+
+ try {
+ Mockito.doAnswer((Answer<Object>) invocation -> {
final byte[] data = invocation.getArgument(0, byte[].class);
dataSent.add(data);
return null;
- }
- }).when(transaction).send(Mockito.any(byte[].class), Mockito.any(Map.class));
-
- Mockito.when(client.createTransaction(Mockito.any(TransferDirection.class))).thenReturn(transaction);
- } catch (final Exception e) {
- e.printStackTrace();
- Assert.fail(e.toString());
+ }).when(transaction).send(Mockito.any(byte[].class), Mockito.any(Map.class));
+
+ when(client.createTransaction(Mockito.any(TransferDirection.class))).thenReturn(transaction);
+ } catch (final Exception e) {
+ e.printStackTrace();
+ Assert.fail(e.toString());
+ }
+ siteToSiteClient = client;
}
-
- return client;
}
public List<byte[]> getDataSent() {