1
2
3
4
5
6
7
8
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 }