1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.cxf.wssec;
12
13 import static org.junit.Assert.assertFalse;
14 import static org.junit.Assert.assertNotNull;
15 import static org.junit.Assert.assertTrue;
16
17 import org.mule.DefaultMuleMessage;
18 import org.mule.api.MuleException;
19 import org.mule.api.MuleMessage;
20 import org.mule.module.client.MuleClient;
21 import org.mule.tck.AbstractServiceAndFlowTestCase;
22 import org.mule.tck.junit4.rule.DynamicPort;
23
24 import java.io.InputStream;
25 import java.util.Arrays;
26 import java.util.Collection;
27
28 import org.junit.Rule;
29 import org.junit.Test;
30 import org.junit.runners.Parameterized.Parameters;
31
32 public class UsernameTokenProxyTestCase extends AbstractServiceAndFlowTestCase
33 {
34
35 @Rule
36 public DynamicPort dynamicPort = new DynamicPort("port1");
37
38 public UsernameTokenProxyTestCase(ConfigVariant variant, String configResources)
39 {
40 super(variant, configResources);
41 }
42
43 @Parameters
44 public static Collection<Object[]> parameters()
45 {
46 return Arrays.asList(new Object[][]{
47 {ConfigVariant.SERVICE, "org/mule/module/cxf/wssec/cxf-secure-proxy-service.xml, org/mule/module/cxf/wssec/username-token-conf.xml"},
48 {ConfigVariant.FLOW, "org/mule/module/cxf/wssec/cxf-secure-proxy-flow.xml, org/mule/module/cxf/wssec/username-token-conf.xml"}
49 });
50 }
51
52 @Override
53 protected void doSetUp() throws Exception
54 {
55 ClientPasswordCallback.setPassword("secret");
56 super.doSetUp();
57 }
58
59 @Test
60 public void testProxyEnvelope() throws Exception
61 {
62 MuleMessage result = sendRequest("http://localhost:" + dynamicPort.getNumber() + "/proxy-envelope");
63 System.out.println(result.getPayloadAsString());
64 assertFalse(result.getPayloadAsString().contains("Fault"));
65 assertTrue(result.getPayloadAsString().contains("joe"));
66 }
67
68 @Test
69 public void testProxyBody() throws Exception
70 {
71 MuleMessage result = sendRequest("http://localhost:" + dynamicPort.getNumber() + "/proxy-body");
72
73 System.out.println(result.getPayloadAsString());
74 assertFalse(result.getPayloadAsString().contains("Fault"));
75 assertFalse(result.getPayloadAsString().contains("joe"));
76 }
77
78 protected MuleMessage sendRequest(String url) throws MuleException
79 {
80 MuleClient client = new MuleClient(muleContext);
81
82 InputStream stream = getClass().getResourceAsStream(getMessageResource());
83 assertNotNull(stream);
84
85 MuleMessage result = client.send(url, new DefaultMuleMessage(stream, muleContext));
86 return result;
87 }
88
89 protected String getMessageResource()
90 {
91 return "/org/mule/module/cxf/wssec/in-message.xml";
92 }
93
94 }