You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mo...@apache.org on 2017/05/11 17:33:21 UTC
[19/39] nifi git commit: NIFI-3403 - Fix NPE in InvokeHTTP
NIFI-3403 - Fix NPE in InvokeHTTP
Signed-off-by: Mike Moser <mo...@apache.org>
This closes #1494
Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/de8d0134
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/de8d0134
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/de8d0134
Branch: refs/heads/support/nifi-0.7.x
Commit: de8d01349e80965de0fba989888c6951217270ad
Parents: 97d064f
Author: Pierre Villard <pi...@gmail.com>
Authored: Thu Feb 9 20:10:33 2017 +0100
Committer: Mike Moser <mo...@apache.org>
Committed: Fri Feb 10 17:20:42 2017 -0500
----------------------------------------------------------------------
.../nifi/processors/standard/InvokeHTTP.java | 2 +-
.../standard/util/TestInvokeHttpCommon.java | 29 ++++++++++++++++++++
2 files changed, 30 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi/blob/de8d0134/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
index 6befbf4..a3b23f8 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
@@ -855,7 +855,7 @@ public final class InvokeHTTP extends AbstractProcessor {
// iterate through the flowfile attributes, adding any attribute that
// matches the attributes-to-send pattern. if the pattern is not set
// (it's an optional property), ignore that attribute entirely
- if (regexAttributesToSend != null) {
+ if (regexAttributesToSend != null && requestFlowFile != null) {
Map<String, String> attributes = requestFlowFile.getAttributes();
Matcher m = regexAttributesToSend.matcher("");
for (Map.Entry<String, String> entry : attributes.entrySet()) {
http://git-wip-us.apache.org/repos/asf/nifi/blob/de8d0134/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/util/TestInvokeHttpCommon.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/util/TestInvokeHttpCommon.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/util/TestInvokeHttpCommon.java
index a0dade1..27eda3b 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/util/TestInvokeHttpCommon.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/util/TestInvokeHttpCommon.java
@@ -449,6 +449,35 @@ public abstract class TestInvokeHttpCommon {
}
@Test
+ public void testNoInputWithAttributes() throws Exception {
+ addHandler(new GetOrHeadHandler());
+
+ runner.setProperty(InvokeHTTP.PROP_URL, url + "/status/200");
+ runner.setProperty(InvokeHTTP.PROP_METHOD, "GET");
+ runner.setProperty(InvokeHTTP.PROP_ATTRIBUTES_TO_SEND, "myAttribute");
+ runner.setIncomingConnection(false);
+ runner.setNonLoopConnection(false);
+
+ runner.run();
+
+ runner.assertTransferCount(InvokeHTTP.REL_SUCCESS_REQ, 0);
+ runner.assertTransferCount(InvokeHTTP.REL_RESPONSE, 1);
+ runner.assertTransferCount(InvokeHTTP.REL_RETRY, 0);
+ runner.assertTransferCount(InvokeHTTP.REL_NO_RETRY, 0);
+ runner.assertTransferCount(InvokeHTTP.REL_FAILURE, 0);
+ runner.assertPenalizeCount(0);
+
+ // expected in response
+ // status code, status message, all headers from server response --> ff attributes
+ // server response message body into payload of ff
+ final MockFlowFile bundle1 = runner.getFlowFilesForRelationship(InvokeHTTP.REL_RESPONSE).get(0);
+ bundle1.assertContentEquals("/status/200".getBytes("UTF-8"));
+ bundle1.assertAttributeEquals(InvokeHTTP.STATUS_CODE, "200");
+ bundle1.assertAttributeEquals(InvokeHTTP.STATUS_MESSAGE, "OK");
+ bundle1.assertAttributeEquals("Content-Type", "text/plain; charset=ISO-8859-1");
+ }
+
+ @Test
public void testNoInputFail() throws Exception {
addHandler(new GetOrHeadHandler());