You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2014/08/30 15:06:53 UTC
[1/6] git commit: CAMEL-7767: Mock - Defining assertion on message
doest work if using convertTo
Repository: camel
Updated Branches:
refs/heads/camel-2.12.x 2776fd555 -> ad8354c4f
refs/heads/camel-2.13.x 1c6b76ade -> e3993f929
CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo
Conflicts:
camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6f1d4229
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6f1d4229
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6f1d4229
Branch: refs/heads/camel-2.13.x
Commit: 6f1d422996db779516f0a180eece4eac0f0c6cc2
Parents: 1c6b76a
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Aug 30 09:57:24 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Aug 30 15:04:57 2014 +0200
----------------------------------------------------------------------
.../org/apache/camel/builder/ValueBuilder.java | 26 ++++---
.../camel/component/mock/AssertionClause.java | 6 ++
.../camel/issues/MockValueBuilderIssueTest.java | 72 ++++++++++++++++++++
3 files changed, 94 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/6f1d4229/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
index 31c4b96..08d9fb3 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
@@ -174,17 +174,17 @@ public class ValueBuilder implements Expression, Predicate {
public ValueBuilder tokenize(String token) {
Expression newExp = ExpressionBuilder.tokenizeExpression(expression, token);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
public ValueBuilder tokenizeXML(String tagName, String inheritNamespaceTagName) {
Expression newExp = ExpressionBuilder.tokenizeXMLExpression(tagName, inheritNamespaceTagName);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
public ValueBuilder tokenizePair(String startToken, String endToken, boolean includeTokens) {
Expression newExp = ExpressionBuilder.tokenizePairExpression(startToken, endToken, includeTokens);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
/**
@@ -193,7 +193,7 @@ public class ValueBuilder implements Expression, Predicate {
*/
public ValueBuilder regexTokenize(String regex) {
Expression newExp = ExpressionBuilder.regexTokenizeExpression(expression, regex);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
/**
@@ -202,7 +202,7 @@ public class ValueBuilder implements Expression, Predicate {
*/
public ValueBuilder regexReplaceAll(String regex, String replacement) {
Expression newExp = ExpressionBuilder.regexReplaceAll(expression, regex, replacement);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
/**
@@ -211,7 +211,7 @@ public class ValueBuilder implements Expression, Predicate {
*/
public ValueBuilder regexReplaceAll(String regex, Expression replacement) {
Expression newExp = ExpressionBuilder.regexReplaceAll(expression, regex, replacement);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
/**
@@ -223,7 +223,7 @@ public class ValueBuilder implements Expression, Predicate {
*/
public ValueBuilder convertTo(Class<?> type) {
Expression newExp = ExpressionBuilder.convertToExpression(expression, type);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
/**
@@ -242,7 +242,8 @@ public class ValueBuilder implements Expression, Predicate {
* @return the current builder
*/
public ValueBuilder append(Object value) {
- return new ValueBuilder(ExpressionBuilder.append(expression, asExpression(value)));
+ Expression newExp = ExpressionBuilder.append(expression, asExpression(value));
+ return onNewValueBuilder(newExp);
}
/**
@@ -252,7 +253,8 @@ public class ValueBuilder implements Expression, Predicate {
* @return the current builder
*/
public ValueBuilder prepend(Object value) {
- return new ValueBuilder(ExpressionBuilder.prepend(expression, asExpression(value)));
+ Expression newExp = ExpressionBuilder.prepend(expression, asExpression(value));
+ return onNewValueBuilder(newExp);
}
/**
@@ -264,7 +266,7 @@ public class ValueBuilder implements Expression, Predicate {
*/
public ValueBuilder sort(Comparator<?> comparator) {
Expression newExp = ExpressionBuilder.sortExpression(expression, comparator);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
/**
@@ -299,4 +301,8 @@ public class ValueBuilder implements Expression, Predicate {
return ExpressionBuilder.constantExpression(value);
}
}
+
+ protected ValueBuilder onNewValueBuilder(Expression exp) {
+ return new ValueBuilder(exp);
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/6f1d4229/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java b/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
index 805c3f3..435851c 100644
--- a/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
+++ b/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
@@ -142,10 +142,16 @@ public abstract class AssertionClause extends ExpressionClauseSupport<ValueBuild
super(expression);
}
+ @Override
protected Predicate onNewPredicate(Predicate predicate) {
predicate = super.onNewPredicate(predicate);
addPredicate(predicate);
return predicate;
}
+
+ @Override
+ protected ValueBuilder onNewValueBuilder(Expression exp) {
+ return new PredicateValueBuilder(exp);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/6f1d4229/camel-core/src/test/java/org/apache/camel/issues/MockValueBuilderIssueTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/issues/MockValueBuilderIssueTest.java b/camel-core/src/test/java/org/apache/camel/issues/MockValueBuilderIssueTest.java
new file mode 100644
index 0000000..920c312
--- /dev/null
+++ b/camel-core/src/test/java/org/apache/camel/issues/MockValueBuilderIssueTest.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.camel.issues;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+
+public class MockValueBuilderIssueTest extends ContextTestSupport {
+
+ public void testMockValueBuilder() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+ mock.message(0).property("foo").convertTo(String.class).contains("2");
+
+ template.sendBody("direct:start", "Hello World");
+
+ assertMockEndpointsSatisfied();
+ }
+
+ public void testMockValueBuilderFail() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+ mock.message(0).property("foo").convertTo(String.class).contains("4");
+
+ template.sendBody("direct:start", "Hello World");
+
+ try {
+ assertMockEndpointsSatisfied();
+ fail("Should fail");
+ } catch (Throwable e) {
+ assertEquals("Assertion error at index 0 on mock mock://result with predicate: property(foo) contains 4"
+ + " evaluated as: 123 contains 4 on Exchange[Message: Hello World]", e.getMessage());
+ }
+ }
+
+ public void testMockValueBuilderNotSatisfied() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+ mock.message(0).property("foo").convertTo(String.class).contains("4");
+
+ template.sendBody("direct:start", "Hello World");
+
+ mock.assertIsNotSatisfied();
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ from("direct:start")
+ .setProperty("foo", constant(123))
+ .to("mock:result");
+ }
+ };
+ }
+}
[2/6] git commit: CAMEL-7768: Handle fault - Should convert the
payload to String using type converter
Posted by da...@apache.org.
CAMEL-7768: Handle fault - Should convert the payload to String using type converter
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c521f5c8
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c521f5c8
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c521f5c8
Branch: refs/heads/camel-2.13.x
Commit: c521f5c8ee7df960b1c5a3e9a9fb1c7d8c612f25
Parents: 6f1d422
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Aug 30 09:58:46 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Aug 30 15:05:14 2014 +0200
----------------------------------------------------------------------
.../camel/processor/interceptor/HandleFaultInterceptor.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/c521f5c8/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java b/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
index cc6bbe5..538fe88 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
@@ -65,7 +65,8 @@ public class HandleFaultInterceptor extends DelegateAsyncProcessor {
exchange.setException((Throwable) faultBody);
} else {
// wrap it in an exception
- exchange.setException(new CamelException(faultBody.toString()));
+ String data = exchange.getContext().getTypeConverter().convertTo(String.class, exchange, faultBody);
+ exchange.setException(new CamelException(data));
}
}
}
[3/6] git commit: CAMEL-7767: Mock - Defining assertion on message
doest work if using convertTo
Posted by da...@apache.org.
CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e3993f92
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e3993f92
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e3993f92
Branch: refs/heads/camel-2.13.x
Commit: e3993f92993e688847f4ab669dfec6b089e4cd03
Parents: c521f5c
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Aug 30 11:07:57 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Aug 30 15:05:22 2014 +0200
----------------------------------------------------------------------
.../java/org/apache/camel/util/MessageHelper.java | 16 +++++++++++++---
.../camel/issues/TryCatchWithSplitIssueTest.java | 4 ++--
.../onexception/OnExceptionHandledTest.java | 2 +-
3 files changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/e3993f92/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java b/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
index e2f59ec..0182594 100644
--- a/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
@@ -17,6 +17,7 @@
package org.apache.camel.util;
import java.io.File;
+import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
@@ -235,12 +236,15 @@ public final class MessageHelper {
}
}
- // is the body a stream cache
- StreamCache cache;
+ // is the body a stream cache or input stream
+ StreamCache cache = null;
+ InputStream is = null;
if (obj instanceof StreamCache) {
cache = (StreamCache)obj;
- } else {
+ is = null;
+ } else if (obj instanceof InputStream) {
cache = null;
+ is = (InputStream) obj;
}
// grab the message body as a string
@@ -259,6 +263,12 @@ public final class MessageHelper {
// reset stream cache after use
if (cache != null) {
cache.reset();
+ } else if (is != null && is.markSupported()) {
+ try {
+ is.reset();
+ } catch (IOException e) {
+ // ignore
+ }
}
if (body == null) {
http://git-wip-us.apache.org/repos/asf/camel/blob/e3993f92/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java b/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
index 3818190..2dd5e3f 100644
--- a/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
+++ b/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
@@ -31,7 +31,7 @@ public class TryCatchWithSplitIssueTest extends ContextTestSupport {
MockEndpoint error = getMockEndpoint("mock:error");
error.expectedBodiesReceived("James");
error.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
- error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).isEqualTo("This is a dummy error James!");
+ error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("This is a dummy error James!");
MockEndpoint result = getMockEndpoint("mock:result");
result.expectedBodiesReceived("Hi Claus", "Hi Willem");
@@ -45,7 +45,7 @@ public class TryCatchWithSplitIssueTest extends ContextTestSupport {
MockEndpoint error = getMockEndpoint("mock:error");
error.expectedBodiesReceived("James");
error.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
- error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).isEqualTo("This is a dummy error James!");
+ error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("This is a dummy error James!");
template.sendBody("direct:start", "James");
http://git-wip-us.apache.org/repos/asf/camel/blob/e3993f92/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java b/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
index 565b942..3254244 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
@@ -31,7 +31,7 @@ public class OnExceptionHandledTest extends ContextTestSupport {
mock.expectedBodiesReceived("Hello World");
mock.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
mock.message(0).property(Exchange.EXCEPTION_CAUGHT).isInstanceOf(IllegalArgumentException.class);
- mock.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).isEqualTo("Forced");
+ mock.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("Forced");
template.sendBody("direct:start", "Hello World");
[4/6] git commit: CAMEL-7767: Mock - Defining assertion on message
doest work if using convertTo
Posted by da...@apache.org.
CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo
Conflicts:
camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c6b189b7
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c6b189b7
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c6b189b7
Branch: refs/heads/camel-2.12.x
Commit: c6b189b7de145876fde668310f719000cc40141a
Parents: 2776fd5
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Aug 30 09:57:24 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Aug 30 15:06:32 2014 +0200
----------------------------------------------------------------------
.../org/apache/camel/builder/ValueBuilder.java | 26 ++++---
.../camel/component/mock/AssertionClause.java | 6 ++
.../camel/issues/MockValueBuilderIssueTest.java | 72 ++++++++++++++++++++
3 files changed, 94 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/c6b189b7/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
index 31c4b96..08d9fb3 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
@@ -174,17 +174,17 @@ public class ValueBuilder implements Expression, Predicate {
public ValueBuilder tokenize(String token) {
Expression newExp = ExpressionBuilder.tokenizeExpression(expression, token);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
public ValueBuilder tokenizeXML(String tagName, String inheritNamespaceTagName) {
Expression newExp = ExpressionBuilder.tokenizeXMLExpression(tagName, inheritNamespaceTagName);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
public ValueBuilder tokenizePair(String startToken, String endToken, boolean includeTokens) {
Expression newExp = ExpressionBuilder.tokenizePairExpression(startToken, endToken, includeTokens);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
/**
@@ -193,7 +193,7 @@ public class ValueBuilder implements Expression, Predicate {
*/
public ValueBuilder regexTokenize(String regex) {
Expression newExp = ExpressionBuilder.regexTokenizeExpression(expression, regex);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
/**
@@ -202,7 +202,7 @@ public class ValueBuilder implements Expression, Predicate {
*/
public ValueBuilder regexReplaceAll(String regex, String replacement) {
Expression newExp = ExpressionBuilder.regexReplaceAll(expression, regex, replacement);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
/**
@@ -211,7 +211,7 @@ public class ValueBuilder implements Expression, Predicate {
*/
public ValueBuilder regexReplaceAll(String regex, Expression replacement) {
Expression newExp = ExpressionBuilder.regexReplaceAll(expression, regex, replacement);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
/**
@@ -223,7 +223,7 @@ public class ValueBuilder implements Expression, Predicate {
*/
public ValueBuilder convertTo(Class<?> type) {
Expression newExp = ExpressionBuilder.convertToExpression(expression, type);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
/**
@@ -242,7 +242,8 @@ public class ValueBuilder implements Expression, Predicate {
* @return the current builder
*/
public ValueBuilder append(Object value) {
- return new ValueBuilder(ExpressionBuilder.append(expression, asExpression(value)));
+ Expression newExp = ExpressionBuilder.append(expression, asExpression(value));
+ return onNewValueBuilder(newExp);
}
/**
@@ -252,7 +253,8 @@ public class ValueBuilder implements Expression, Predicate {
* @return the current builder
*/
public ValueBuilder prepend(Object value) {
- return new ValueBuilder(ExpressionBuilder.prepend(expression, asExpression(value)));
+ Expression newExp = ExpressionBuilder.prepend(expression, asExpression(value));
+ return onNewValueBuilder(newExp);
}
/**
@@ -264,7 +266,7 @@ public class ValueBuilder implements Expression, Predicate {
*/
public ValueBuilder sort(Comparator<?> comparator) {
Expression newExp = ExpressionBuilder.sortExpression(expression, comparator);
- return new ValueBuilder(newExp);
+ return onNewValueBuilder(newExp);
}
/**
@@ -299,4 +301,8 @@ public class ValueBuilder implements Expression, Predicate {
return ExpressionBuilder.constantExpression(value);
}
}
+
+ protected ValueBuilder onNewValueBuilder(Expression exp) {
+ return new ValueBuilder(exp);
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/c6b189b7/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java b/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
index 805c3f3..435851c 100644
--- a/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
+++ b/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
@@ -142,10 +142,16 @@ public abstract class AssertionClause extends ExpressionClauseSupport<ValueBuild
super(expression);
}
+ @Override
protected Predicate onNewPredicate(Predicate predicate) {
predicate = super.onNewPredicate(predicate);
addPredicate(predicate);
return predicate;
}
+
+ @Override
+ protected ValueBuilder onNewValueBuilder(Expression exp) {
+ return new PredicateValueBuilder(exp);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/c6b189b7/camel-core/src/test/java/org/apache/camel/issues/MockValueBuilderIssueTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/issues/MockValueBuilderIssueTest.java b/camel-core/src/test/java/org/apache/camel/issues/MockValueBuilderIssueTest.java
new file mode 100644
index 0000000..920c312
--- /dev/null
+++ b/camel-core/src/test/java/org/apache/camel/issues/MockValueBuilderIssueTest.java
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+package org.apache.camel.issues;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+
+public class MockValueBuilderIssueTest extends ContextTestSupport {
+
+ public void testMockValueBuilder() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+ mock.message(0).property("foo").convertTo(String.class).contains("2");
+
+ template.sendBody("direct:start", "Hello World");
+
+ assertMockEndpointsSatisfied();
+ }
+
+ public void testMockValueBuilderFail() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+ mock.message(0).property("foo").convertTo(String.class).contains("4");
+
+ template.sendBody("direct:start", "Hello World");
+
+ try {
+ assertMockEndpointsSatisfied();
+ fail("Should fail");
+ } catch (Throwable e) {
+ assertEquals("Assertion error at index 0 on mock mock://result with predicate: property(foo) contains 4"
+ + " evaluated as: 123 contains 4 on Exchange[Message: Hello World]", e.getMessage());
+ }
+ }
+
+ public void testMockValueBuilderNotSatisfied() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+ mock.message(0).property("foo").convertTo(String.class).contains("4");
+
+ template.sendBody("direct:start", "Hello World");
+
+ mock.assertIsNotSatisfied();
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ from("direct:start")
+ .setProperty("foo", constant(123))
+ .to("mock:result");
+ }
+ };
+ }
+}
[5/6] git commit: CAMEL-7768: Handle fault - Should convert the
payload to String using type converter
Posted by da...@apache.org.
CAMEL-7768: Handle fault - Should convert the payload to String using type converter
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ddeddac3
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ddeddac3
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ddeddac3
Branch: refs/heads/camel-2.12.x
Commit: ddeddac3990897f2fc83b3cb63490e69c162ad72
Parents: c6b189b
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Aug 30 09:58:46 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Aug 30 15:06:37 2014 +0200
----------------------------------------------------------------------
.../camel/processor/interceptor/HandleFaultInterceptor.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/ddeddac3/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java b/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
index cc6bbe5..538fe88 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/interceptor/HandleFaultInterceptor.java
@@ -65,7 +65,8 @@ public class HandleFaultInterceptor extends DelegateAsyncProcessor {
exchange.setException((Throwable) faultBody);
} else {
// wrap it in an exception
- exchange.setException(new CamelException(faultBody.toString()));
+ String data = exchange.getContext().getTypeConverter().convertTo(String.class, exchange, faultBody);
+ exchange.setException(new CamelException(data));
}
}
}
[6/6] git commit: CAMEL-7767: Mock - Defining assertion on message
doest work if using convertTo
Posted by da...@apache.org.
CAMEL-7767: Mock - Defining assertion on message doest work if using convertTo
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ad8354c4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ad8354c4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ad8354c4
Branch: refs/heads/camel-2.12.x
Commit: ad8354c4f82c515595a454e3800993613d8a3db2
Parents: ddeddac
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Aug 30 11:07:57 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Aug 30 15:06:41 2014 +0200
----------------------------------------------------------------------
.../java/org/apache/camel/util/MessageHelper.java | 16 +++++++++++++---
.../camel/issues/TryCatchWithSplitIssueTest.java | 4 ++--
.../onexception/OnExceptionHandledTest.java | 2 +-
3 files changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/ad8354c4/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java b/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
index e2f59ec..0182594 100644
--- a/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
@@ -17,6 +17,7 @@
package org.apache.camel.util;
import java.io.File;
+import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
@@ -235,12 +236,15 @@ public final class MessageHelper {
}
}
- // is the body a stream cache
- StreamCache cache;
+ // is the body a stream cache or input stream
+ StreamCache cache = null;
+ InputStream is = null;
if (obj instanceof StreamCache) {
cache = (StreamCache)obj;
- } else {
+ is = null;
+ } else if (obj instanceof InputStream) {
cache = null;
+ is = (InputStream) obj;
}
// grab the message body as a string
@@ -259,6 +263,12 @@ public final class MessageHelper {
// reset stream cache after use
if (cache != null) {
cache.reset();
+ } else if (is != null && is.markSupported()) {
+ try {
+ is.reset();
+ } catch (IOException e) {
+ // ignore
+ }
}
if (body == null) {
http://git-wip-us.apache.org/repos/asf/camel/blob/ad8354c4/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java b/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
index 3818190..2dd5e3f 100644
--- a/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
+++ b/camel-core/src/test/java/org/apache/camel/issues/TryCatchWithSplitIssueTest.java
@@ -31,7 +31,7 @@ public class TryCatchWithSplitIssueTest extends ContextTestSupport {
MockEndpoint error = getMockEndpoint("mock:error");
error.expectedBodiesReceived("James");
error.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
- error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).isEqualTo("This is a dummy error James!");
+ error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("This is a dummy error James!");
MockEndpoint result = getMockEndpoint("mock:result");
result.expectedBodiesReceived("Hi Claus", "Hi Willem");
@@ -45,7 +45,7 @@ public class TryCatchWithSplitIssueTest extends ContextTestSupport {
MockEndpoint error = getMockEndpoint("mock:error");
error.expectedBodiesReceived("James");
error.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
- error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).isEqualTo("This is a dummy error James!");
+ error.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("This is a dummy error James!");
template.sendBody("direct:start", "James");
http://git-wip-us.apache.org/repos/asf/camel/blob/ad8354c4/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java b/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
index 565b942..3254244 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledTest.java
@@ -31,7 +31,7 @@ public class OnExceptionHandledTest extends ContextTestSupport {
mock.expectedBodiesReceived("Hello World");
mock.message(0).property(Exchange.EXCEPTION_CAUGHT).isNotNull();
mock.message(0).property(Exchange.EXCEPTION_CAUGHT).isInstanceOf(IllegalArgumentException.class);
- mock.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).isEqualTo("Forced");
+ mock.message(0).property(Exchange.EXCEPTION_CAUGHT).convertTo(String.class).contains("Forced");
template.sendBody("direct:start", "Hello World");