1 /*
2 * Created on 25/Jan/2004
3 *
4 * To change the template for this generated file go to
5 * Window>Preferences>Java>Code Generation>Code and Comments
6 */
7 package replica.server.commands;
8
9 import java.util.List;
10
11 import replica.core.ApplicationMessage;
12 import replica.group.Address;
13 import replica.group.GroupManager;
14 import replica.group.event.GroupListener;
15 import replica.session.Session;
16 import replica.session.SessionManager;
17 import replica.session.support.SimpleSessionManager;
18 import junit.framework.TestCase;
19
20 /***
21 * @author Pedro
22 *
23 * To change the template for this generated type comment go to
24 * Window>Preferences>Java>Code Generation>Code and Comments
25 */
26 public class ConnectCommandTest extends TestCase {
27
28 /***
29 * Constructor for ConnectCommandTest.
30 * @param arg0
31 */
32 public ConnectCommandTest(String arg0) {
33 super(arg0);
34 }
35
36 /*
37 * Test for Object execute(ApplicationMessage)
38 */
39 public void testExecuteApplicationMessageUserDatabase() {
40
41 SimpleSessionManager sm = new SimpleSessionManager();
42 final String sId = sm.createSession(null, null);
43
44 GroupManager gm = new GroupManager(){
45 public void joinGroup(){}
46 public void leaveGroup(){}
47 public String getGroupName(){return null;}
48 public void setGroupName(String groupName){}
49 public List getGroupView(){return null;}
50 public void sendMessage(Address receiverAddress, Object message){}
51 public void sendMessage(Object message){
52 ApplicationMessage app = (ApplicationMessage)message;
53 assertEquals(sId, app.getSessionID());
54 assertEquals("user", app.getHeader("USER"));
55 assertEquals("mydb", app.getHeader("DATABASE_NAME"));
56 assertNull( app.getHeader("PASSWORD"));
57 }
58 public void addListener(GroupListener listener){}
59 public boolean removeListener( GroupListener listener){return true;}
60 public Address getLocalAddress(){return null;}
61 };
62
63 String result = executeCommand(sm, gm, sId, "connect user@mydb ;");
64
65 assertNotNull(result);
66 Session s = sm.getSession(sId);
67 assertNotNull(s);
68 assertTrue(s.isLoggedIn());
69 assertEquals("user", s.getUserId());
70 assertNull(s.getUserPassword());
71 assertEquals("mydb", s.getObject("DATABASE_NAME"));
72 }
73
74 /*
75 * Test for Object execute(ApplicationMessage)
76 */
77 public void testExecuteApplicationMessageUserPasswordDatabase() {
78
79 SimpleSessionManager sm = new SimpleSessionManager();
80 final String sId = sm.createSession(null, null);
81
82 GroupManager gm = new GroupManager(){
83 public void joinGroup(){}
84 public void leaveGroup(){}
85 public String getGroupName(){return null;}
86 public void setGroupName(String groupName){}
87 public List getGroupView(){return null;}
88 public void sendMessage(Address receiverAddress, Object message){}
89 public void sendMessage(Object message){
90 ApplicationMessage app = (ApplicationMessage)message;
91 assertEquals(sId, app.getSessionID());
92 assertEquals("user", app.getHeader("USER"));
93 assertEquals("mydb", app.getHeader("DATABASE_NAME"));
94 assertEquals("password", app.getHeader("PASSWORD"));
95 }
96 public void addListener(GroupListener listener){}
97 public boolean removeListener( GroupListener listener){return true;}
98 public Address getLocalAddress(){return null;}
99 };
100
101 String result = executeCommand(sm, gm, sId, "connect user/password@mydb ;");
102
103 assertNotNull(result);
104 Session s = sm.getSession(sId);
105 assertNotNull(s);
106 assertTrue(s.isLoggedIn());
107 assertEquals("user", s.getUserId());
108 assertEquals("password",s.getUserPassword());
109 assertEquals("mydb",s.getObject("DATABASE_NAME"));
110 }
111
112 /*
113 * Test for Object execute(ApplicationMessage)
114 */
115 public void testExecuteApplicationMessageUser() {
116
117 SimpleSessionManager sm = new SimpleSessionManager();
118 final String sId = sm.createSession(null, null);
119
120 GroupManager gm = new GroupManager(){
121 public void joinGroup(){}
122 public void leaveGroup(){}
123 public String getGroupName(){return null;}
124 public void setGroupName(String groupName){}
125 public List getGroupView(){return null;}
126 public void sendMessage(Address receiverAddress, Object message){}
127 public void sendMessage(Object message){
128 ApplicationMessage app = (ApplicationMessage)message;
129 assertEquals(sId, app.getSessionID());
130 assertEquals("user", app.getHeader("USER"));
131 assertNull( app.getHeader("DATABASE_NAME"));
132 assertNull( app.getHeader("PASSWORD"));
133 }
134 public void addListener(GroupListener listener){}
135 public boolean removeListener( GroupListener listener){return true;}
136 public Address getLocalAddress(){return null;}
137 };
138
139 String result = executeCommand(sm, gm, sId, "connect user ;");
140
141 assertNotNull(result);
142 Session s = sm.getSession(sId);
143 assertNotNull(s);
144 assertTrue(s.isLoggedIn());
145 assertEquals("user", s.getUserId());
146 assertNull(s.getUserPassword());
147 assertNull(s.getObject("DATABASE_NAME"));
148 }
149
150 String executeCommand(SessionManager sm, GroupManager gm, String sId, String msgStr){
151
152 ConnectCommand c = new ConnectCommand();
153
154 ApplicationMessage msg = new ApplicationMessage();
155 msg.setBody(msgStr);
156
157 c.setSessionManager(sm);
158
159 c.setGroupManager(gm);
160
161 msg.setSessionID(sId);
162 msg.setOriginator(ApplicationMessage.SERVER_MODULE);
163
164 return c.execute(msg).toString();
165 }
166 }
This page was automatically generated by Maven