Author: janstey
Date: Mon Oct 20 09:30:04 2008
New Revision: 706330
URL: http://svn.apache.org/viewvc?rev=706330&view=rev
Log:
CAMEL-939 - Fix unit test that fails sometimes on slower machines
Modified:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/LanguageTestSupport.java
activemq/camel/trunk/components/camel-script/src/test/java/org/apache/camel/language/script/PythonLanguageTest.java
Modified:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/LanguageTestSupport.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/LanguageTestSupport.java?rev=706330&r1=706329&r2=706330&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/LanguageTestSupport.java
(original)
+++
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/LanguageTestSupport.java
Mon Oct 20 09:30:04 2008
@@ -16,6 +16,9 @@
*/
package org.apache.camel;
+import org.apache.camel.spi.Language;
+import org.apache.camel.util.ExchangeHelper;
+
/**
* A useful base class for testing the language plugins in Camel
* @version $Revision$
@@ -66,4 +69,26 @@
protected void assertExpression(String expressionText, Object
expectedValue) {
assertExpression(exchange, expressionText, expectedValue);
}
+
+ /**
+ * Asserts that the expression evaluates to one of the two given values
+ */
+ protected void assertExpression(String expressionText, String
expectedValue, String orThisExpectedValue) {
+ Language language = assertResolveLanguage(getLanguageName());
+
+ Expression<Exchange> expression =
language.createExpression(expressionText);
+ assertNotNull("No Expression could be created for text: " +
expressionText + " language: " + language, expression);
+
+ Object value = expression.evaluate(exchange);
+
+ // lets try convert to the type of the expected
+ if (expectedValue != null) {
+ value = ExchangeHelper.convertToType(exchange,
expectedValue.getClass(), value);
+ }
+
+ log.debug("Evaluated expression: " + expression + " on exchange: " +
exchange + " result: " + value);
+
+ assertTrue("Expression: " + expression + " on Exchange: " + exchange,
+ expectedValue.equals(value) ||
orThisExpectedValue.equals(value));
+ }
}
Modified:
activemq/camel/trunk/components/camel-script/src/test/java/org/apache/camel/language/script/PythonLanguageTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-script/src/test/java/org/apache/camel/language/script/PythonLanguageTest.java?rev=706330&r1=706329&r2=706330&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-script/src/test/java/org/apache/camel/language/script/PythonLanguageTest.java
(original)
+++
activemq/camel/trunk/components/camel-script/src/test/java/org/apache/camel/language/script/PythonLanguageTest.java
Mon Oct 20 09:30:04 2008
@@ -24,7 +24,9 @@
public class PythonLanguageTest extends LanguageTestSupport {
public void testLanguageExpressions() throws Exception {
- assertExpression("exchange.in.headers", "{foo=abc, bar=123}");
+ // the properties are stored in a set so ordering is not known
+ assertExpression("exchange.in.headers", "{foo=abc, bar=123}",
"{bar=123, foo=abc}");
+
assertExpression("exchange.in", "Message: <hello
id='m123'>world!</hello>");
assertExpression("exchange.in.headers.get('foo')", "abc");
assertExpression("request.headers['foo']", "abc");