This is an automated email from the ASF dual-hosted git repository.
heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
The following commit(s) were added to refs/heads/master by this push:
new fbec416 fixed test for multi-part, added necessary trim when
multipart used
fbec416 is described below
commit fbec416dc064fdad2d35a635573bb80a14927785
Author: Alex Heneveld <[email protected]>
AuthorDate: Wed Jul 28 12:59:39 2021 +0100
fixed test for multi-part, added necessary trim when multipart used
---
.../apache/brooklyn/core/typereg/TypePlanTransformers.java | 2 +-
.../apache/brooklyn/rest/resources/ApplicationResource.java | 1 +
.../java/org/apache/brooklyn/rest/api/ApplicationApiTest.java | 11 ++++++++++-
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git
a/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java
b/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java
index 45e0d60..b710d23 100644
---
a/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java
+++
b/core/src/main/java/org/apache/brooklyn/core/typereg/TypePlanTransformers.java
@@ -156,7 +156,7 @@ public class TypePlanTransformers {
result = failuresFromTransformers.size()==1 ?
Exceptions.create(null, failuresFromTransformers) :
Exceptions.create("All applicable plan transformers failed",
failuresFromTransformers);
} else {
- String prefix = Strings.isBlank(type.getPlan().getPlanFormat()) ?
"Invalid plan" : "Invalid '"+type.getPlan().getPlanFormat()+"' plan]";
+ String prefix = Strings.isBlank(type.getPlan().getPlanFormat()) ?
"Invalid plan" : "Invalid '"+type.getPlan().getPlanFormat()+"' plan";
if (transformers.isEmpty()) {
result = new UnsupportedTypePlanException(prefix + "; format
could not be recognized, none of the available transformers "+all(mgmt)+"
support "+
(type.getId()!=null ? type.getId() :
"plan:\n"+type.getPlan().getPlanData()));
diff --git
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ApplicationResource.java
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ApplicationResource.java
index 1a95f5c..3b0d94a 100644
---
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ApplicationResource.java
+++
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ApplicationResource.java
@@ -554,6 +554,7 @@ public class ApplicationResource extends
AbstractBrooklynRestResource implements
}
public Response createWithFormat(String inputToAutodetectType, String
format) {
+ if (format!=null) format = format.trim();
log.debug("Creating app from autodetecting input");
boolean looksLikeLegacy = false;
diff --git
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/api/ApplicationApiTest.java
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/api/ApplicationApiTest.java
index 9bcd635..433ce1d 100644
---
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/api/ApplicationApiTest.java
+++
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/api/ApplicationApiTest.java
@@ -31,7 +31,16 @@ public class ApplicationApiTest extends
BrooklynRestApiLauncherTestFixture {
@Test(groups = "Integration")
public void testMultipartFormWithInvalidChar() throws Exception {
useServerForTest(newServer());
- String body =
"------WebKitFormBoundaryaQhM7RFMi4ZiXOj2\n\rContent-Disposition: form-data;
services:\n\r- type:
org.apache.brooklyn.entity.stock.BasicEntity\n\rbrooklyn.config:\n\rexample:
$brooklyn:formatString(\"%s\",
\"vault\")\n\r\n\r\n\r------WebKitFormBoundaryaQhM7RFMi4ZiXOj2\n\rContent-Disposition:
form-data;
name=\"format\"\n\r\n\rcamp\n\r------WebKitFormBoundaryaQhM7RFMi4ZiXOj2--\n\r";
+ String body = "------WebKitFormBoundaryaQhM7RFMi4ZiXOj2\n\r" +
+ "Content-Disposition: form-data; name=\"plan\"\n\r\n\r" +
+ "services:\n\r" +
+ "- type: org.apache.brooklyn.entity.stock.BasicEntity\n\r" +
+ " brooklyn.config:\n\r" +
+ " example: $brooklyn:formatString(\"%s\",
\"vault\")\n\r\n\r\n\r" +
+ "------WebKitFormBoundaryaQhM7RFMi4ZiXOj2\n\r" +
+ "Content-Disposition: form-data; name=\"format\"\n\r\n\r" +
+ "brooklyn-camp\n\r" +
+ "------WebKitFormBoundaryaQhM7RFMi4ZiXOj2--\n\r";
ImmutableMap<String, String> headers = ImmutableMap.of("Content-Type",
"multipart/form-data; boundary=----WebKitFormBoundaryaQhM7RFMi4ZiXOj2");
assertPostMultiPart("admin", "/v1/applications", body.getBytes(),
headers);
}