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