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