1
2
3
4
5
6
7
8
9
10 package org.mule.module.spring.security;
11
12 import org.mule.api.MuleMessage;
13 import org.mule.api.context.notification.SecurityNotificationListener;
14 import org.mule.context.notification.SecurityNotification;
15 import org.mule.module.client.MuleClient;
16 import org.mule.tck.FunctionalTestCase;
17 import org.mule.transport.http.HttpConnector;
18 import org.mule.util.concurrent.Latch;
19
20 import edu.emory.mathcs.backport.java.util.concurrent.TimeUnit;
21
22 public class SecureHttpPollingFunctionalTestCase extends FunctionalTestCase
23 {
24
25 public void testPollingHttpConnectorSentCredentials() throws Exception
26 {
27 final Latch latch = new Latch();
28 muleContext.registerListener(new SecurityNotificationListener<SecurityNotification>()
29 {
30 public void onNotification(SecurityNotification notification)
31 {
32 latch.countDown();
33 }
34 });
35 MuleClient client = new MuleClient(muleContext);
36 MuleMessage result = client.request("vm://toclient", 5000);
37 assertNotNull(result);
38 assertEquals("foo", result.getPayloadAsString());
39
40 result = client.request("vm://toclient2", 1000);
41
42
43 assertNotNull(result);
44 final int status = result.getInboundProperty(HttpConnector.HTTP_STATUS_PROPERTY, 0);
45 assertEquals(401, status);
46 assertTrue(latch.await(1000, TimeUnit.MILLISECONDS));
47
48 }
49
50 protected String getConfigResources()
51 {
52 return "secure-http-polling-server.xml,secure-http-polling-client.xml";
53 }
54
55 }