    1   /* Copyright 2004, 2005 Acegi Technology Pty Limited
    2    *
    3    * Licensed under the Apache License, Version 2.0 (the "License");
    4    * you may not use this file except in compliance with the License.
    5    * You may obtain a copy of the License at
    6    *
    7    *     http://www.apache.org/licenses/LICENSE-2.0
    8    *
    9    * Unless required by applicable law or agreed to in writing, software
    10   * distributed under the License is distributed on an "AS IS" BASIS,
    11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12   * See the License for the specific language governing permissions and
    13   * limitations under the License.
    14   */
    15
    16  package org.acegisecurity.concurrent;
    17
    18  import junit.framework.TestCase;
    19
    20  import java.util.Date;
    21
    22
    23  /***
    24   * Tests {@link SessionInformation}.
    25   *
    26   * @author Ben Alex
    27   * @version $Id: SessionInformationTests.java,v 1.2 2005/11/17 00:55:48 benalex Exp $
    28   */
    29  public class SessionInformationTests extends TestCase {
    30      //~ Methods ================================================================
    31
    32      public void testObject() throws Exception {
    33          Object principal = "Some principal object";
    34          String sessionId = "1234567890";
    35          Date currentDate = new Date();
    36
    37          SessionInformation info = new SessionInformation(principal, sessionId,
    38                  currentDate);
    39          assertEquals(principal, info.getPrincipal());
    40          assertEquals(sessionId, info.getSessionId());
    41          assertEquals(currentDate, info.getLastRequest());
    42
    43          Thread.sleep(1000);
    44
    45          info.refreshLastRequest();
    46
    47          assertTrue(info.getLastRequest().after(currentDate));
    48      }
    49  }