1
2
3
4
5
6
7 package org.mule.module.spring.security;
8
9 import org.mule.api.config.MuleProperties;
10 import org.mule.api.endpoint.ImmutableEndpoint;
11 import org.mule.api.security.SecurityProvider;
12 import org.mule.api.service.Service;
13 import org.mule.module.spring.security.filters.http.HttpBasicAuthenticationFilter;
14 import org.mule.security.MuleSecurityManager;
15 import org.mule.service.ServiceCompositeMessageSource;
16 import org.mule.tck.junit4.FunctionalTestCase;
17
18 import java.util.Collection;
19 import java.util.Iterator;
20
21 import org.junit.Test;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertNotNull;
25
26 public class AuthenticationNamespaceHandlerTestCase extends FunctionalTestCase
27 {
28
29 @Override
30 protected String getConfigResources()
31 {
32 return "authentication-config.xml";
33 }
34
35 @Test
36 public void testSecurityManagerConfigured()
37 {
38 MuleSecurityManager securityManager =
39 (MuleSecurityManager) muleContext.getRegistry().lookupObject(MuleProperties.OBJECT_SECURITY_MANAGER);
40 assertNotNull(securityManager);
41
42 Collection providers = securityManager.getProviders();
43 assertEquals(2, providers.size());
44
45 Iterator providersIterator = providers.iterator();
46 SecurityProvider provider = (SecurityProvider) providersIterator.next();
47 assertEquals(SpringProviderAdapter.class, provider.getClass());
48 assertEquals(UserAndPasswordAuthenticationProvider.class, ((SpringProviderAdapter) provider).getAuthenticationProvider().getClass());
49
50 provider = (SecurityProvider) providersIterator.next();
51 assertEquals(SpringProviderAdapter.class, provider.getClass());
52 assertEquals(PreAuthenticatedAuthenticationProvider.class, ((SpringProviderAdapter) provider).getAuthenticationProvider().getClass());
53 }
54
55 @Test
56 public void testEndpointConfiguration()
57 {
58 Service service = muleContext.getRegistry().lookupService("echo");
59 assertNotNull(service);
60 assertEquals(1, ((ServiceCompositeMessageSource) service.getMessageSource()).getEndpoints().size());
61
62 ImmutableEndpoint endpoint = (ImmutableEndpoint) ((ServiceCompositeMessageSource) service.getMessageSource()).getEndpoints().get(0);
63 assertNotNull(endpoint.getSecurityFilter());
64 assertEquals(HttpBasicAuthenticationFilter.class, endpoint.getSecurityFilter().getClass());
65 }
66
67 }