/* ================================================================== * Created [2009-4-27 下午11:32:55] by Jon.King * ================================================================== * TSS * ================================================================== * mailTo:jinpujun@hotmail.com * Copyright (c) Jon.King, 2009-2012 * ================================================================== */ package com.jinhe.tss.sso.online.database; import java.util.Collection; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import com.jinhe.tss.component.TxTestSupport; import com.jinhe.tss.core.sso.online.IOnlineUserManager; import com.jinhe.tss.core.sso.online.OnlineUser; //本core模块中的功能由于需要数据库支持,故搬至Component里测试 public class DBOnlineUserManagerTest extends TxTestSupport { @Autowired IOnlineUserManager manager; public final void testDBOnlineUserManager() { Collection<String> onlineUserNames = manager.getOnlineUserNames(); for(String name : onlineUserNames) { log.debug(name); } manager.register("token", "TSS", "sessionId", new Long(1), "Jon.King"); manager.register("token", "TSS1", "sessionId1", new Long(1), "Jon.King"); manager.register("token", "TSS2", "sessionId2", new Long(2), "Jon.King2"); manager.register("token3", "TSS", "sessionId3", new Long(3), "Jon.King3"); Set<OnlineUser> userSet = manager.getOnlineUsersByToken("token"); assertNotNull(userSet); assertEquals(3, userSet.size()); onlineUserNames = manager.getOnlineUserNames(); for(String name : onlineUserNames) { log.debug(name); } // testGetAllOnlineInfos4Token Set<OnlineUser> userInfos = manager.getOnlineUsersByToken("token"); assertEquals(3, userInfos.size()); assertTrue(userInfos.contains(new OnlineUser(new Long(1), "TSS", "sessionId", "token"))); assertTrue(userInfos.contains(new OnlineUser(new Long(2), "TSS2", "sessionId2", "token"))); assertTrue(userInfos.contains(new OnlineUser(new Long(1), "TSS1", "sessionId1", "token"))); assertTrue(manager.getOnlineUsersByToken("notToken").isEmpty()); // testIsOnline assertTrue(manager.isOnline("token")); assertFalse(manager.isOnline("NotLoginToken")); // testDelete assertEquals(3, manager.getOnlineUsersByToken("token").size()); manager.logout("TSS1", "sessionId1"); assertEquals(2, manager.getOnlineUsersByToken("token").size()); manager.logout("TSS", "sessionId3"); assertEquals(2, manager.getOnlineUsersByToken("token").size()); } }