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