1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.submit.filters;
14
15 import junit.framework.TestCase;
16
17 import com.eviware.soapui.impl.wsdl.WsdlSubmitContext;
18
19 public class PropertyExpansionTestCase extends TestCase
20 {
21 public void testExpansion() throws Exception
22 {
23 WsdlSubmitContext context = new WsdlSubmitContext( null );
24
25 context.setProperty( "test", "value" );
26
27 assertEquals( "value", PropertyExpansionRequestFilter.expandProperties( context, "${test}" ));
28 assertEquals( "value", PropertyExpansionRequestFilter.expandProperties( context, "${#test}" ));
29 assertEquals( " value ", PropertyExpansionRequestFilter.expandProperties( context, " ${test} " ));
30 assertEquals( "${testa}", PropertyExpansionRequestFilter.expandProperties( context, "${testa}" ));
31 assertEquals( "valuevalue", PropertyExpansionRequestFilter.expandProperties( context, "${test}${test}" ));
32
33 context.setProperty( "testa", "" );
34 assertEquals( "", PropertyExpansionRequestFilter.expandProperties( context, "${testa}" ));
35 }
36
37 public void testRecursiveExpansion() throws Exception
38 {
39 WsdlSubmitContext context = new WsdlSubmitContext( null );
40
41 context.setProperty( "test", "value" );
42 context.setProperty( "testexp", "${test}" );
43
44 assertEquals( "value", PropertyExpansionRequestFilter.expandProperties( context, "${testexp}" ));
45
46 context.setProperty( "exp", "${exp}" );
47 assertEquals( "${exp}", PropertyExpansionRequestFilter.expandProperties( context, "${exp}" ));
48 }
49
50 public void testNestedExpansion() throws Exception
51 {
52 WsdlSubmitContext context = new WsdlSubmitContext( null );
53
54 context.setProperty( "test", "value" );
55 context.setProperty( "testexp", "${test}" );
56 context.setProperty( "exp", "exp" );
57
58 assertEquals( "value", PropertyExpansionRequestFilter.expandProperties( context, "${test${exp}}" ));
59
60 context.setProperty( "id", "123" );
61 context.setProperty( "testxml", "<test><value id=\"123\">hello</value></test>" );
62 assertEquals( "hello",
63 PropertyExpansionRequestFilter.expandProperties( context, "${#testxml#//value[@id=${id}]/text()}" ));
64
65 context.setProperty( "testxpath", "//value[@id=${id}]/text()" );
66 assertEquals( "hello",
67 PropertyExpansionRequestFilter.expandProperties( context, "${#testxml#${testxpath}}" ));
68 }
69
70 public void testXPathExpansion() throws Exception
71 {
72 WsdlSubmitContext context = new WsdlSubmitContext( null );
73
74 context.setProperty( "test", "<test><value>hello</value></test>" );
75 assertEquals( "hello", PropertyExpansionRequestFilter.expandProperties( context, "${#test#//value/text()}" ));
76 }
77 }