View Javadoc
1   /*
2    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
3    * The software in this package is published under the terms of the CPAL v1.0
4    * license, a copy of which has been included with this distribution in the
5    * LICENSE.txt file.
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  }