1
2
3
4
5
6
7
8
9
10
11 package org.mule.test;
12
13 import org.mule.module.scripting.expression.GroovyExpressionEvaluator;
14 import org.mule.tck.junit4.AbstractMuleContextTestCase;
15 import org.mule.transport.jdbc.JdbcConnector;
16
17 import java.util.ArrayList;
18 import java.util.List;
19
20 import org.junit.Test;
21
22 import static org.junit.Assert.assertEquals;
23
24 public class ComplexExpressionParsingTestCase extends AbstractMuleContextTestCase
25 {
26
27 @Test
28 public void testComplexExpressionJdbcParsing() throws Exception
29 {
30 muleContext.getExpressionManager().registerEvaluator(new GroovyExpressionEvaluator());
31
32 List parsedParams = new ArrayList();
33 JdbcConnector c = new JdbcConnector(muleContext);
34 String result = c.parseStatement("#[groovy:payload[0]] - #[groovy:payload[1].toUpperCase()]", parsedParams);
35
36 assertEquals("Wrong number of parsed parameters for a statement", 2, parsedParams.size());
37 assertEquals("#[groovy:payload[0]]", parsedParams.get(0));
38 assertEquals("#[groovy:payload[1].toUpperCase()]", parsedParams.get(1));
39
40
41 assertEquals("? - ?", result);
42 }
43
44 }