1
2
3
4
5
6
7 package org.mule.test.config;
8
9 import org.mule.api.EncryptionStrategy;
10 import org.mule.api.security.SecurityManager;
11 import org.mule.security.PasswordBasedEncryptionStrategy;
12 import org.mule.security.SecretKeyEncryptionStrategy;
13 import org.mule.tck.junit4.FunctionalTestCase;
14 import org.mule.tck.security.MockEncryptionStrategy;
15 import org.mule.tck.security.TestSingleUserSecurityProvider;
16
17 import java.util.Iterator;
18
19 import org.junit.Test;
20
21 import static org.junit.Assert.assertNotNull;
22 import static org.junit.Assert.assertTrue;
23
24 public class SecurityNamespaceHandlerTestCase extends FunctionalTestCase
25 {
26
27 @Override
28 protected String getConfigResources()
29 {
30 return "security-namespace-config.xml";
31 }
32
33 @Test
34 public void testSecurity()
35 {
36 SecurityManager securityManager = muleContext.getSecurityManager();
37 assertNotNull(securityManager.getProvider("dummySecurityProvider"));
38 assertTrue(securityManager.getProvider("dummySecurityProvider") instanceof TestSingleUserSecurityProvider);
39 verifyEncryptionStrategy(securityManager, "dummyEncryptionStrategy", MockEncryptionStrategy.class);
40 verifyEncryptionStrategy(securityManager, "passwordEncryptionStrategy", PasswordBasedEncryptionStrategy.class);
41 verifyEncryptionStrategy(securityManager, "secretKeyEncryptionStrategy", SecretKeyEncryptionStrategy.class);
42 }
43
44 private void verifyEncryptionStrategy(SecurityManager securityManager, String name, Class clazz)
45 {
46 Iterator strategies = securityManager.getEncryptionStrategies().iterator();
47 logger.debug("Listing strategies");
48 while (strategies.hasNext())
49 {
50 EncryptionStrategy strategy = (EncryptionStrategy) strategies.next();
51 logger.debug(strategy.getName() + " / " + strategy.toString() + " / " + strategy.getClass());
52 }
53 assertNotNull(name, securityManager.getEncryptionStrategy(name));
54 assertTrue(securityManager.getEncryptionStrategy(name).getClass().equals(clazz));
55 }
56
57 }