View Javadoc

1   /*
2    * $Id: JaasNamespaceHandlerTestCase.java 22401 2011-07-13 09:10:18Z dirk.olmes $
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.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.junit4.FunctionalTestCase;
18  
19  import org.junit.Test;
20  
21  import static org.junit.Assert.assertEquals;
22  import static org.junit.Assert.assertNotNull;
23  import static org.junit.Assert.assertTrue;
24  
25  public class JaasNamespaceHandlerTestCase extends FunctionalTestCase
26  {
27      @Override
28      protected String getConfigResources()
29      {
30          return "jaas-namespace-config.xml";
31      }
32  
33      @Test
34      public void testJaasProvider()
35      {
36          knownProperties(getProvider("jaasSecurityProvider"));
37      }
38  
39      @Test
40      public void testPasswordBasedEncryption()
41      {
42          knownProperties(getEncryptionStrategy("PBE"));
43      }
44  
45      protected void knownProperties(EncryptionStrategy encryptionStrategy)
46      {
47          assertNotNull(encryptionStrategy);
48          assertTrue(encryptionStrategy instanceof PasswordBasedEncryptionStrategy);
49          PasswordBasedEncryptionStrategy pbe = (PasswordBasedEncryptionStrategy) encryptionStrategy;
50          assertNotNull(pbe.getName());
51          assertEquals("PBE", pbe.getName());
52      }
53  
54      protected void knownProperties(SecurityProvider provider)
55      {
56          assertNotNull(provider);
57          assertTrue(provider instanceof JaasSimpleAuthenticationProvider);
58          JaasSimpleAuthenticationProvider jaasProvider = (JaasSimpleAuthenticationProvider) provider;
59          assertNotNull(jaasProvider.getLoginContextName());
60          assertEquals("jaasTest", jaasProvider.getLoginContextName());
61          assertNotNull(jaasProvider.getLoginConfig());
62          assertEquals("jaas.conf", jaasProvider.getLoginConfig());
63      }
64  
65      protected SecurityProvider getProvider(String providerName)
66      {
67          SecurityManager securityManager = muleContext.getSecurityManager();
68          return securityManager.getProvider(providerName);
69      }
70  
71      protected EncryptionStrategy getEncryptionStrategy(String strategyName)
72      {
73          SecurityManager securityManager = muleContext.getSecurityManager();
74          return securityManager.getEncryptionStrategy(strategyName);
75      }
76  }