View Javadoc

1   /*
2    * $Id: SecurityNamespaceHandlerTestCase.java 19191 2010-08-25 21:05:23Z tcarlson $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.test.config;
12  
13  import org.mule.api.EncryptionStrategy;
14  import org.mule.api.security.SecurityManager;
15  import org.mule.security.PasswordBasedEncryptionStrategy;
16  import org.mule.security.SecretKeyEncryptionStrategy;
17  import org.mule.tck.FunctionalTestCase;
18  import org.mule.tck.security.MockEncryptionStrategy;
19  import org.mule.tck.security.TestSingleUserSecurityProvider;
20  
21  import java.util.Iterator;
22  
23  public class SecurityNamespaceHandlerTestCase extends FunctionalTestCase
24  {
25  
26      protected String getConfigResources()
27      {
28          return "security-namespace-config.xml";
29      }
30  
31      public void testSecurity()
32      {
33          SecurityManager securityManager = muleContext.getSecurityManager();
34          assertNotNull(securityManager.getProvider("dummySecurityProvider"));
35          assertTrue(securityManager.getProvider("dummySecurityProvider") instanceof TestSingleUserSecurityProvider);
36          verifyEncryptionStrategy(securityManager, "dummyEncryptionStrategy", MockEncryptionStrategy.class);
37          verifyEncryptionStrategy(securityManager, "passwordEncryptionStrategy", PasswordBasedEncryptionStrategy.class);
38          verifyEncryptionStrategy(securityManager, "secretKeyEncryptionStrategy", SecretKeyEncryptionStrategy.class);
39      }
40      
41      private void verifyEncryptionStrategy(SecurityManager securityManager, String name, Class clazz)
42      {
43          Iterator strategies = securityManager.getEncryptionStrategies().iterator();
44          logger.debug("Listing strategies");
45          while (strategies.hasNext())
46          {
47              EncryptionStrategy strategy = (EncryptionStrategy) strategies.next();
48              logger.debug(strategy.getName() + " / " + strategy.toString() + " / " + strategy.getClass());
49          }
50          assertNotNull(name, securityManager.getEncryptionStrategy(name));
51          assertTrue(securityManager.getEncryptionStrategy(name).getClass().equals(clazz));
52      }
53  
54  }