Author: sebawagner
Date: Mon Dec 10 07:33:52 2012
New Revision: 1419246

URL: http://svn.apache.org/viewvc?rev=1419246&view=rev
Log:
OPENMEETINGS-460 Enhancing the JUnit test to validate if the 
getServerForSession method returns the correct server

Modified:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/AbstractOpenmeetingsSpringTest.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/cluster/TestHashMapStore.java

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java?rev=1419246&r1=1419245&r2=1419246&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java
 Mon Dec 10 07:33:52 2012
@@ -787,7 +787,7 @@ public class ConferenceService {
                        }
                        
                        //if the room is already opened on a server, redirect 
the user to that one,
-                       //we do that in too loop's because there is no query 
involved here,
+                       //we do that in two loop's because there is no query 
involved here,
                        //only the first user that enters the conference room 
needs to be adjusted 
                        //to that server that has the less maxUser count in its 
rooms currently.
                        //But if the room is already opened, then the maxUser 
is no more relevant,
@@ -856,8 +856,14 @@ public class ConferenceService {
                                        for (Rooms room : entry.getValue()) {
                                                maxUsersInRoom += 
room.getNumberOfPartizipants();
                                        }
+                                       
+                                       String roomids = "";
+                                       for (Rooms r : entry.getValue()) { 
+                                               roomids += " " + 
r.getRooms_id(); 
+                                       }
+                                       
                                        log.debug("entry " + entry.getKey() + " 
Number of rooms "
-                                                       + 
entry.getValue().size() + " " + maxUsersInRoom);
+                                                       + 
entry.getValue().size()+ " RoomIds: " + roomids + " max(Sum): " + 
maxUsersInRoom);
                                }
 
                        }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/AbstractOpenmeetingsSpringTest.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/AbstractOpenmeetingsSpringTest.java?rev=1419246&r1=1419245&r2=1419246&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/AbstractOpenmeetingsSpringTest.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/AbstractOpenmeetingsSpringTest.java
 Mon Dec 10 07:33:52 2012
@@ -46,8 +46,8 @@ import org.springframework.test.context.
 public abstract class AbstractOpenmeetingsSpringTest extends 
AbstractJUnit4SpringContextTests {
        private static final Logger log = 
Red5LoggerFactory.getLogger(AbstractOpenmeetingsSpringTest.class);
        
-       protected static final String username = "junit";
-       protected static final String userpass = "test";
+       protected static final String username = "swagner";
+       protected static final String userpass = "qweqwe";
        private static final String orgname = "smoketest";
        private static final String timeZone = "";
        private static final String useremail = "[email protected]";

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/cluster/TestHashMapStore.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/cluster/TestHashMapStore.java?rev=1419246&r1=1419245&r2=1419246&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/cluster/TestHashMapStore.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/cluster/TestHashMapStore.java
 Mon Dec 10 07:33:52 2012
@@ -40,7 +40,7 @@ public class TestHashMapStore extends Ab
                        TestHashMapStore.class, 
OpenmeetingsVariables.webAppRootKey);
 
        private ClientListHashMapStoreTesting sessionManager = new 
ClientListHashMapStoreTesting();
-       
+
        @Autowired
        private MainService mService;
        @Autowired
@@ -52,7 +52,7 @@ public class TestHashMapStore extends Ab
 
        int localSessions = 200;
        int slaveSessionSize = 200;
-       
+
        @Test
        public void doClientTest() {
 
@@ -61,10 +61,12 @@ public class TestHashMapStore extends Ab
                for (int i = 0; i < localSessions; i++) {
                        this.sessionManager.addClientListItem("streamId" + i, 
"hibernate",
                                        123, "localhost", "", false);
-                       
-                       RoomClient rcl = 
this.sessionManager.getClientByStreamId("streamId" + i, null);
-                       rcl.setUser_id(Long.parseLong(""+i));
-                       this.sessionManager.updateClientByStreamId("streamId" + 
i, rcl, false);
+
+                       RoomClient rcl = 
this.sessionManager.getClientByStreamId("streamId"
+                                       + i, null);
+                       rcl.setUser_id(Long.parseLong("" + i));
+                       this.sessionManager.updateClientByStreamId("streamId" + 
i, rcl,
+                                       false);
                }
 
                long roomId = 1L;
@@ -92,9 +94,28 @@ public class TestHashMapStore extends Ab
 
                }
 
-               addSyncClients(1);
-               addSyncClients(2);
-               addSyncClients(3);
+               Server s1 = serverDao.get(1L);
+               if (s1 == null) {
+                       serverDao.saveServer(1L, "name 1", "127.0.0.1", 5080, 
"swagner",
+                                       "qweqwe", "openmeetings", "http", true, 
"", 1L);
+                       s1 = serverDao.get(1L);
+               }
+               Server s2 = serverDao.get(2L);
+               if (s2 == null) {
+                       serverDao.saveServer(2L, "name 2", "127.0.0.1", 5080, 
"swagner",
+                                       "qweqwe", "openmeetings", "http", true, 
"", 1L);
+                       s2 = serverDao.get(2L);
+               }
+               Server s3 = serverDao.get(3L);
+               if (s3 == null) {
+                       serverDao.saveServer(3L, "name 3", "127.0.0.1", 5080, 
"swagner",
+                                       "qweqwe", "openmeetings", "http", true, 
"", 1L);
+                       s3 = serverDao.get(3L);
+               }
+
+               addSyncClients(s1, 3, 6);
+               addSyncClients(s2, 4, 7);
+               addSyncClients(s3, 5, 8);
 
                log.debug("Local Cache size " + 
sessionManager.getAllClients().size());
                assertEquals(sessionManager.getAllClients().size(), 
localSessions);
@@ -110,138 +131,161 @@ public class TestHashMapStore extends Ab
                assertEquals(rcl.getStreamid(), compareRcl.getStreamid());
                assertEquals(rcl.getPublicSID(), compareRcl.getPublicSID());
 
-               List<RoomClient> clientsByRoom = 
sessionManager.getClientListByRoom(1L, null);
+               List<RoomClient> clientsByRoom = 
sessionManager.getClientListByRoom(1L,
+                               null);
 
                log.debug("clientsByRoom SIZE " + clientsByRoom.size());
 
                assertEquals(clientsByRoom.size(), 50);
-               
-               
-               SearchResult<ClientSession> searchResult = 
sessionManager.getListByStartAndMax(0, Integer.MAX_VALUE, "", true);
-               
+
+               SearchResult<ClientSession> searchResult = sessionManager
+                               .getListByStartAndMax(0, Integer.MAX_VALUE, "", 
true);
+
                log.debug("Number of sessions Total " + 
searchResult.getRecords());
-               
-               assertEquals(searchResult.getRecords().intValue(), 800);
-               
-               addSyncClients(1);
-               addSyncClients(2);
-               addSyncClients(3);
-               
+
+               sessionManager.getCache().printDebugInformation(
+                               Arrays.asList(HashMapStore.DEBUG_DETAILS.SIZE,
+                                               
HashMapStore.DEBUG_DETAILS.CLIENT_BY_STREAMID,
+                                               
HashMapStore.DEBUG_DETAILS.CLIENT_BY_PUBLICSID,
+                                               
HashMapStore.DEBUG_DETAILS.CLIENT_BY_USERID,
+                                               
HashMapStore.DEBUG_DETAILS.CLIENT_BY_ROOMID));
+
+               assertEquals(searchResult.getRecords().intValue(), 1400);
+
+               addSyncClients(s1, 3, 6);
+               addSyncClients(s2, 4, 7);
+               addSyncClients(s3, 5, 8);
+
                log.debug("Number of sessions Total " + 
searchResult.getRecords());
-               
-               assertEquals(searchResult.getRecords().intValue(), 800);
-               
-               Server testServer = new Server();
-               testServer.setId(1L);
-               
-               for (RoomClient rSession : 
sessionManager.getCache().getClientsByServer(testServer).values()) {
-                       log.debug("rSession "+rSession);
+
+               assertEquals(searchResult.getRecords().intValue(), 1400);
+
+               for (RoomClient rSession : sessionManager.getCache()
+                               .getClientsByServer(s1).values()) {
+                       log.debug("rSession " + rSession);
                }
-               
-               RoomClient rcl2 = 
sessionManager.getClientByStreamId("streamId1050", testServer);
+
+               String streamId = "streamId" + ((1000 * 3 * s1.getId()) + 1);
+               RoomClient rcl2 = sessionManager.getClientByStreamId(streamId, 
s1);
                log.debug("rcl2 " + rcl2);
                RoomClient compareRcl2 = sessionManager.getClientByPublicSID(
-                               rcl2.getPublicSID(), rcl2.getIsAVClient(), 
testServer);
+                               rcl2.getPublicSID(), rcl2.getIsAVClient(), s1);
                log.debug("compareRcl2 " + compareRcl2);
 
                assertEquals(rcl2.getStreamid(), compareRcl2.getStreamid());
                assertEquals(rcl2.getPublicSID(), compareRcl2.getPublicSID());
-               
-               
-               RoomClient rclRemove = 
sessionManager.getClientByStreamId("streamId51", null);
+
+               RoomClient rclRemove = 
sessionManager.getClientByStreamId("streamId51",
+                               null);
                log.debug("rclRemove " + rclRemove);
-               
+
                Boolean removed = sessionManager.removeClient("streamId51");
-               
+
                assertTrue(removed);
-               
+
                log.debug("Local Cache size " + 
sessionManager.getAllClients().size());
-               assertEquals(sessionManager.getAllClients().size(), 
localSessions-1);
-               
+               assertEquals(sessionManager.getAllClients().size(), 
localSessions - 1);
+
                RoomClient deletedNullClient = 
sessionManager.getClientByPublicSID(
                                rclRemove.getPublicSID(), 
rclRemove.getIsAVClient(), null);
-               
-               log.debug("rclRemove: "+ rclRemove);
-               
+
+               log.debug("rclRemove: " + rclRemove);
+
                if (deletedNullClient != null) {
-                       log.debug("deletedNullClient "+deletedNullClient);
+                       log.debug("deletedNullClient " + deletedNullClient);
                }
-               
+
                assertNull(deletedNullClient);
-               
+
                sessionManager.getCache().printDebugInformation(
                                Arrays.asList(HashMapStore.DEBUG_DETAILS.SIZE,
                                                
HashMapStore.DEBUG_DETAILS.CLIENT_BY_STREAMID,
                                                
HashMapStore.DEBUG_DETAILS.CLIENT_BY_PUBLICSID,
                                                
HashMapStore.DEBUG_DETAILS.CLIENT_BY_USERID,
                                                
HashMapStore.DEBUG_DETAILS.CLIENT_BY_ROOMID));
-               
-               Server s1 = new Server();
-               s1.setId(1L);
-               Server s2 = new Server();
-               s2.setId(2L);
-               Server s3 = new Server();
-               s3.setId(3L);
-               Server s4 = new Server();
-               s4.setId(4L);
-               
-               //Check if number of total sessions is same as sum of all 
sessions across all rooms
-               int roomSession = sessionManager.getClientListByRoomAll(1L, 
null).size()
+
+               // Check if number of total sessions is same as sum of all 
sessions
+               // across all rooms
+               int roomSession = sessionManager.getClientListByRoomAll(1L, 
null)
+                               .size()
                                + sessionManager.getClientListByRoomAll(2L, 
null).size()
                                + sessionManager.getClientListByRoomAll(3L, 
s1).size()
                                + sessionManager.getClientListByRoomAll(4L, 
s2).size()
                                + sessionManager.getClientListByRoomAll(5L, 
s3).size()
-                               + sessionManager.getClientListByRoomAll(6L, 
s4).size()
-                               ;
-               log.debug("Room Id 2 Number of Sessions: 
"+sessionManager.getClientListByRoomAll(2L, s1).size());
-               log.debug("Room Id 3 Number of Sessions: 
"+sessionManager.getClientListByRoomAll(3L, s1).size());
-               log.debug("Room Id 4 Number of Sessions: 
"+sessionManager.getClientListByRoomAll(4L, s1).size());
-               log.debug("Room Id 5 Number of Sessions: 
"+sessionManager.getClientListByRoomAll(5L, s1).size());
-               log.debug("roomSession: "+roomSession);
-               
-               assertEquals(roomSession, 
sessionManager.getCache().getTotalNumberOfSessions());
-               
+                               + sessionManager.getClientListByRoomAll(6L, 
s1).size()
+                               + sessionManager.getClientListByRoomAll(7L, 
s2).size()
+                               + sessionManager.getClientListByRoomAll(8L, 
s3).size();
+               log.debug("Room Id 1 Number of Sessions: "
+                               + sessionManager.getClientListByRoomAll(1L, 
null).size());
+               log.debug("Room Id 2 Number of Sessions: "
+                               + sessionManager.getClientListByRoomAll(2L, 
null).size());
+               log.debug("Room Id 3 Number of Sessions: "
+                               + sessionManager.getClientListByRoomAll(3L, 
s1).size());
+               log.debug("Room Id 4 Number of Sessions: "
+                               + sessionManager.getClientListByRoomAll(4L, 
s2).size());
+               log.debug("Room Id 5 Number of Sessions: "
+                               + sessionManager.getClientListByRoomAll(5L, 
s3).size());
+               log.debug("Room Id 6 Number of Sessions: "
+                               + sessionManager.getClientListByRoomAll(6L, 
s1).size());
+               log.debug("Room Id 7 Number of Sessions: "
+                               + sessionManager.getClientListByRoomAll(7L, 
s2).size());
+               log.debug("Room Id 8 Number of Sessions: "
+                               + sessionManager.getClientListByRoomAll(8L, 
s3).size());
+               log.debug("roomSession: " + roomSession);
+
+               assertEquals(roomSession, sessionManager.getCache()
+                               .getTotalNumberOfSessions());
+
                Sessiondata sessionData = mService.getsessiondata();
-               
-               Users us = (Users) 
userManagement.loginUser(sessionData.getSession_id(), username, userpass, null, 
false);
-               
-               log.debug("us "+us);
-               
+
+               Users us = (Users) userManagement.loginUser(
+                               sessionData.getSession_id(), username, 
userpass, null, false);
+
+               log.debug("us " + us);
+
                assertTrue(us != null);
-               
-               Server server = 
conferenceService.getServerForSession(sessionData.getSession_id(), 8);
 
-               log.debug("server "+server);
+               // Is running already on server3
+               Server server = conferenceService.getServerForSession(
+                               sessionData.getSession_id(), 8);
+               log.debug("server " + server);
+               assertEquals(server.getId().longValue(), 3);
+
+               // New Room requested that is running on no server
+               Server serverNew = conferenceService.getServerForSession(
+                               sessionData.getSession_id(), 9);
+               log.debug("serverNew " + serverNew);
+               assertEquals(serverNew, null);
+
        }
 
-       private void addSyncClients(long serverId) {
-               
-               Server server = serverDao.get(serverId);        
-               if (server == null) {
-                       serverDao.saveServer(serverId, "name", "127.0.0.1", 
5080, "swagner", "qweqwe", "openmeetings", "http", true, "", 1L);
-                       server = serverDao.get(serverId);
-               }
-               
+       private void addSyncClients(Server server, long... roomIds) {
+
                List<SlaveClientDto> clients = new ArrayList<SlaveClientDto>();
-               for (int i = 0; i < slaveSessionSize; i++) {
 
-                       // avClient, 2 Clients share one userId
-                       int add = Double.valueOf(Math.floor((i % 
2))).intValue();
+               for (long roomId : roomIds) {
+                       for (int i = 0; i < slaveSessionSize; i++) {
+
+                               // avClient, 2 Clients share one userId
+                               int add = Double.valueOf(Math.floor((i % 
2))).intValue();
 
-                       Long userId = (1000 * serverId) + i + add;
+                               Long userId = (1000 * roomId * server.getId()) 
+ i + add;
 
-                       SlaveClientDto slaveDto = new SlaveClientDto( //
-                                       "streamId" + ((1000 * serverId) + i), //
-                                       "publicSID_" + serverId + "_" + i, //
-                                       new Long(2+serverId), //
-                                       userId, //
-                                       "firstName" + i, //
-                                       "lastName" + i, //
-                                       (i % 2 == 0), //
-                                       "scope" + i, //
-                                       "username" + i, //
-                                       
CalendarPatterns.getDateWithTimeByMiliSeconds(new Date())); //
-                       clients.add(slaveDto);
+                               SlaveClientDto slaveDto = new SlaveClientDto(
+                                               //
+                                               "streamId" + ((1000 * roomId * 
server.getId()) + i), //
+                                               "publicSID_" + roomId + "_ " + 
server.getId() + "_" + i, //
+                                               roomId, //
+                                               userId, //
+                                               "firstName" + roomId + "_ " + 
server.getId() + "_" + i, //
+                                               "lastName" + roomId + "_ " + 
server.getId() + "_" + i, //
+                                               (i % 2 == 0), //
+                                               "scope" + roomId, //
+                                               "username" + roomId + "_ " + 
server.getId() + "_" + i, //
+                                               CalendarPatterns
+                                                               
.getDateWithTimeByMiliSeconds(new Date())); //
+                               clients.add(slaveDto);
+                       }
                }
 
                this.sessionManager.syncSlaveClientSession(server, clients);
@@ -259,12 +303,14 @@ public class TestHashMapStore extends Ab
                                rcm.setConnectedSince(new Date());
                                rcm.setStreamid(streamId);
                                rcm.setScope(scopeName);
-                               
-                               long random = System.currentTimeMillis() + new 
BigInteger(256, new Random()).longValue();
+
+                               long random = System.currentTimeMillis()
+                                               + new BigInteger(256, new 
Random()).longValue();
 
                                ICryptString cryptStyle = new 
MD5Implementation();
 
-                               
rcm.setPublicSID(cryptStyle.createPassPhrase(String.valueOf(random).toString()));
+                               
rcm.setPublicSID(cryptStyle.createPassPhrase(String.valueOf(
+                                               random).toString()));
 
                                rcm.setUserport(remotePort);
                                rcm.setUserip(remoteAddress);
@@ -286,7 +332,7 @@ public class TestHashMapStore extends Ab
                        }
                        return null;
                }
-               
+
                public HashMapStore getCache() {
                        return cache;
                }


Reply via email to