/* * The Alluxio Open Foundation licenses this work under the Apache License, version 2.0 * (the "License"). You may not use this work except in compliance with the License, which is * available at www.apache.org/licenses/LICENSE-2.0 * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied, as more fully set forth in the License. * * See the NOTICE file distributed with this work for information regarding copyright ownership. */ package alluxio; import org.junit.Assert; import org.junit.Test; /** * Unit tests for {@link SessionInfo}. */ public final class SessionInfoTest { private static final int MIN_LEN = 1; private static final int MAX_LEN = 1000; private static final int DELTA = 50; private static final int SESSION_TIMEOUT_MS = 1000; /** * Tests the {@link SessionInfo#SessionInfo(long, int)} constructor. */ @Test public void constructor() { for (int k = MIN_LEN; k <= MAX_LEN; k += DELTA) { SessionInfo tSessionInfo = new SessionInfo(k, SESSION_TIMEOUT_MS); Assert.assertEquals(k, tSessionInfo.getSessionId()); } } /** * Tests that an exception is thrown in the {@link SessionInfo#SessionInfo(long, int)} constructor * when using an invalid id for the session. */ @Test(expected = RuntimeException.class) public void constructorWithException() { for (int k = 0; k >= -1000; k -= DELTA) { SessionInfo tSessionInfo = new SessionInfo(k, SESSION_TIMEOUT_MS); Assert.assertEquals(k, tSessionInfo.getSessionId()); Assert.fail("SessionId " + k + " should be invalid."); } } /** * Tests the {@link SessionInfo#getSessionId()} method. */ @Test public void getSessionId() { for (int k = MIN_LEN; k < MAX_LEN; k += 66) { SessionInfo tSessionInfo = new SessionInfo(k, SESSION_TIMEOUT_MS); Assert.assertEquals(k, tSessionInfo.getSessionId()); } } /** * Tests the {@link SessionInfo#timeout()} method. */ @Test public void timeout() { SessionInfo tSessionInfo = new SessionInfo(1, SESSION_TIMEOUT_MS); Assert.assertFalse(tSessionInfo.timeout()); } }