/** * Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved. * EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * http://www.ewcms.com */ package com.ewcms.security.core.session; import java.util.ArrayList; import java.util.List; import junit.framework.TestCase; import org.junit.Test; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.session.SessionInformation; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; /** * Test {@link EwcmsSessionRegistryImpl} * * @author wangwei */ public class EwcmsSessionRegistryImplTest extends TestCase{ private EwcmsSessionRegistryImpl initSessionRegistry(){ EwcmsSessionRegistryImpl sessionRegistry = new EwcmsSessionRegistryImpl(); User user = new User("Pertty","123456",true,true,true,true,new ArrayList<GrantedAuthority>()); sessionRegistry.registerNewSession("perttyid", user); sessionRegistry.registerNewSession("jonsid", "Jons"); return sessionRegistry; } @Test public void testGetPrincipalTypeUserDetails(){ EwcmsSessionRegistryImpl sessionRegistry = initSessionRegistry(); Object p = sessionRegistry.getPrincipal("Pertty"); assertNotNull(p); assertTrue(p instanceof UserDetails); } @Test public void testGetPrincipalTypeString(){ EwcmsSessionRegistryImpl sessionRegistry = initSessionRegistry(); Object p = sessionRegistry.getPrincipal("Jons"); assertNotNull(p); assertTrue(p instanceof String); } @Test public void testRemoveSessionInformationByUsername(){ EwcmsSessionRegistryImpl sessionRegistry = initSessionRegistry(); User user = new User("Pertty","123456",true,true,true,true,new ArrayList<GrantedAuthority>()); sessionRegistry.removeSessionInformationByUsername(user.getUsername()); List<SessionInformation> sessionInformations = sessionRegistry.getAllSessions(user,true); assertTrue(sessionInformations.isEmpty()); } @Test public void testExpiredSessionInformationByUsername(){ EwcmsSessionRegistryImpl sessionRegistry = initSessionRegistry(); String username = "Jons"; sessionRegistry.expiredSessionInformationByUsername(username); List<SessionInformation> sessionInformations = sessionRegistry.getAllSessions(username,true); assertTrue(sessionInformations.size() == 1); assertTrue(sessionInformations.get(0).isExpired()); } }