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.acegi;
8   
9   import org.mule.api.security.SecurityManager;
10  import org.mule.api.security.SecurityProvider;
11  import org.mule.tck.junit4.FunctionalTestCase;
12  
13  import java.util.Iterator;
14  
15  import org.acegisecurity.providers.dao.DaoAuthenticationProvider;
16  import org.junit.Test;
17  
18  import static org.junit.Assert.assertNotNull;
19  import static org.junit.Assert.assertTrue;
20  
21  public class AcegiNamespaceHandlerTestCase extends FunctionalTestCase
22  {
23  
24      @Override
25      protected String getConfigResources()
26      {
27          return "acegi-namespace-config.xml";
28      }
29  
30      @Test
31      public void testAcegi()
32      {
33          knownProperties(getProvider("memory-dao"));
34      }
35  
36      protected SecurityProvider getProvider(String name)
37      {
38          SecurityManager securityManager = muleContext.getSecurityManager();
39          return securityManager.getProvider(name);
40      }
41  
42      @Test
43      public void testCustom()
44      {
45          Iterator providers = muleContext.getSecurityManager().getProviders().iterator();
46          while (providers.hasNext())
47          {
48              SecurityProvider provider = (SecurityProvider) providers.next();
49              logger.debug(provider);
50              logger.debug(provider.getName());
51          }
52          knownProperties(getProvider("customProvider"));
53          knownProperties(getProvider("willOverwriteName"));
54      }
55  
56      protected void knownProperties(SecurityProvider provider)
57      {
58          assertNotNull(provider);
59          assertTrue(provider instanceof AcegiProviderAdapter);
60          AcegiProviderAdapter adapter = (AcegiProviderAdapter) provider;
61          assertNotNull(adapter.getDelegate());
62          assertTrue(adapter.getDelegate() instanceof DaoAuthenticationProvider);
63      }
64  
65  }