1   /*
2    * $Id: JaasNamespaceHandlerTestCase.java 10789 2008-02-12 20:04:43Z dfeist $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.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.module.jaas;
12  
13  import org.mule.api.EncryptionStrategy;
14  import org.mule.api.security.SecurityManager;
15  import org.mule.api.security.SecurityProvider;
16  import org.mule.security.PasswordBasedEncryptionStrategy;
17  import org.mule.tck.FunctionalTestCase;
18  
19  public class JaasNamespaceHandlerTestCase extends FunctionalTestCase
20  {
21  
22      protected String getConfigResources()
23      {
24          return "jaas-namespace-config.xml";
25      }
26      
27      public void testJaasProvider()
28      {
29          knownProperties(getProvider("jaasSecurityProvider"));
30      }
31      
32      public void testPasswordBasedEncryption()
33      {
34          knownProperties(getEncryptionStrategy("PBE"));
35      }
36      
37      protected SecurityProvider getProvider(String name)
38      {
39          SecurityManager securityManager = muleContext.getSecurityManager();
40          return securityManager.getProvider(name);
41      }
42      
43      protected void knownProperties(SecurityProvider provider)
44      {
45          assertNotNull(provider);
46          assertTrue(provider instanceof JaasSimpleAuthenticationProvider);
47          JaasSimpleAuthenticationProvider jaasProvider = (JaasSimpleAuthenticationProvider) provider;
48          assertNotNull(jaasProvider.getLoginContextName());
49          assertEquals("jaasTest", jaasProvider.getLoginContextName());
50          assertNotNull(jaasProvider.getLoginConfig());
51          assertEquals("jaas.conf", jaasProvider.getLoginConfig());
52      }
53      
54      protected EncryptionStrategy getEncryptionStrategy(String name)
55      {
56          SecurityManager securityManager = muleContext.getSecurityManager();
57          return securityManager.getEncryptionStrategy(name);
58      }
59      
60      protected void knownProperties(EncryptionStrategy encryptionStrategy)
61      {
62          assertNotNull(encryptionStrategy);
63          assertTrue(encryptionStrategy instanceof PasswordBasedEncryptionStrategy);
64          PasswordBasedEncryptionStrategy pbe = (PasswordBasedEncryptionStrategy) encryptionStrategy;
65          assertNotNull(pbe.getName());
66          assertEquals("PBE", pbe.getName());
67      }
68  
69  }
70  
71