1
2
3
4
5
6
7
8
9
10
11 package org.mule.extras.jaas;
12
13 import org.mule.MuleManager;
14 import org.mule.config.MuleProperties;
15 import org.mule.extras.client.MuleClient;
16 import org.mule.impl.security.MuleCredentials;
17 import org.mule.tck.FunctionalTestCase;
18 import org.mule.umo.UMOEncryptionStrategy;
19 import org.mule.umo.UMOMessage;
20
21 import java.util.HashMap;
22 import java.util.Map;
23
24 public class JaasAutenticationWithJaasConfigFileTestCase extends FunctionalTestCase
25 {
26
27 public JaasAutenticationWithJaasConfigFileTestCase()
28 {
29 super();
30 this.setDisposeManagerPerSuite(true);
31 }
32
33 public void testCaseGoodAuthentication() throws Exception
34 {
35 MuleClient client = new MuleClient();
36
37 Map props = new HashMap();
38 UMOEncryptionStrategy strategy = MuleManager.getInstance()
39 .getSecurityManager()
40 .getEncryptionStrategy("PBE");
41 String header = MuleCredentials.createHeader("Marie.Rizzo", "dragon", "PBE", strategy);
42 props.put(MuleProperties.MULE_USER_PROPERTY, header);
43 UMOMessage m = client.send("vm://test", "Test", props);
44
45 assertNotNull(m);
46 assertTrue(m.getPayload() instanceof String);
47 assertTrue(m.getPayloadAsString().equals("Test Received"));
48 }
49
50 public void testCaseDifferentGoodAuthentication() throws Exception
51 {
52 MuleClient client = new MuleClient();
53
54 Map props = new HashMap();
55 UMOEncryptionStrategy strategy = MuleManager.getInstance()
56 .getSecurityManager()
57 .getEncryptionStrategy("PBE");
58 String header = MuleCredentials.createHeader("anon", "anon", "PBE", strategy);
59 props.put(MuleProperties.MULE_USER_PROPERTY, header);
60 UMOMessage m = client.send("vm://test", "Test", props);
61
62 assertNotNull(m);
63 assertTrue(m.getPayload() instanceof String);
64 assertTrue(m.getPayloadAsString().equals("Test Received"));
65 }
66
67 public void testCaseWrongCombinationOfCorrectUsernameAndPassword() throws Exception
68 {
69 MuleClient client = new MuleClient();
70
71 Map props = new HashMap();
72 UMOEncryptionStrategy strategy = MuleManager.getInstance()
73 .getSecurityManager()
74 .getEncryptionStrategy("PBE");
75 String header = MuleCredentials.createHeader("Marie.Rizzo", "anon", "PBE", strategy);
76 props.put(MuleProperties.MULE_USER_PROPERTY, header);
77 UMOMessage m = client.send("vm://test", "Test", props);
78
79 assertNotNull(m);
80 assertTrue(m.getPayload() instanceof String);
81 assertFalse(m.getPayloadAsString().equals("Test Received"));
82 }
83
84 public void testCaseBadUserName() throws Exception
85 {
86 MuleClient client = new MuleClient();
87 Map props = new HashMap();
88 UMOEncryptionStrategy strategy = MuleManager.getInstance()
89 .getSecurityManager()
90 .getEncryptionStrategy("PBE");
91 String header = MuleCredentials.createHeader("Evil", "dragon", "PBE", strategy);
92 props.put(MuleProperties.MULE_USER_PROPERTY, header);
93 UMOMessage m = client.send("vm://test", "Test", props);
94
95 assertNotNull(m);
96 assertTrue(m.getPayload() instanceof String);
97 assertFalse(m.getPayloadAsString().equals("Test Received"));
98 }
99
100 public void testCaseBadPassword() throws Exception
101 {
102 MuleClient client = new MuleClient();
103 Map props = new HashMap();
104 UMOEncryptionStrategy strategy = MuleManager.getInstance()
105 .getSecurityManager()
106 .getEncryptionStrategy("PBE");
107 String header = MuleCredentials.createHeader("Marie.Rizzo", "evil", "PBE", strategy);
108 props.put(MuleProperties.MULE_USER_PROPERTY, header);
109 UMOMessage m = client.send("vm://test", "Test", props);
110
111 assertNotNull(m);
112 assertTrue(m.getPayload() instanceof String);
113 assertFalse(m.getPayloadAsString().equals("Test Received"));
114 }
115
116 protected String getConfigResources()
117 {
118 return "mule-conf-for-jaas-conf-file.xml";
119 }
120 }