1
2
3
4
5
6
7 package org.mule.module.acegi;
8
9 import org.mule.api.security.SecurityManager;
10 import org.mule.api.security.SecurityProvider;
11 import org.mule.tck.junit4.FunctionalTestCase;
12
13 import java.util.Iterator;
14
15 import org.acegisecurity.providers.dao.DaoAuthenticationProvider;
16 import org.junit.Test;
17
18 import static org.junit.Assert.assertNotNull;
19 import static org.junit.Assert.assertTrue;
20
21 public class AcegiNamespaceHandlerTestCase extends FunctionalTestCase
22 {
23
24 @Override
25 protected String getConfigResources()
26 {
27 return "acegi-namespace-config.xml";
28 }
29
30 @Test
31 public void testAcegi()
32 {
33 knownProperties(getProvider("memory-dao"));
34 }
35
36 protected SecurityProvider getProvider(String name)
37 {
38 SecurityManager securityManager = muleContext.getSecurityManager();
39 return securityManager.getProvider(name);
40 }
41
42 @Test
43 public void testCustom()
44 {
45 Iterator providers = muleContext.getSecurityManager().getProviders().iterator();
46 while (providers.hasNext())
47 {
48 SecurityProvider provider = (SecurityProvider) providers.next();
49 logger.debug(provider);
50 logger.debug(provider.getName());
51 }
52 knownProperties(getProvider("customProvider"));
53 knownProperties(getProvider("willOverwriteName"));
54 }
55
56 protected void knownProperties(SecurityProvider provider)
57 {
58 assertNotNull(provider);
59 assertTrue(provider instanceof AcegiProviderAdapter);
60 AcegiProviderAdapter adapter = (AcegiProviderAdapter) provider;
61 assertNotNull(adapter.getDelegate());
62 assertTrue(adapter.getDelegate() instanceof DaoAuthenticationProvider);
63 }
64
65 }