/*
* Copyright (c) JForum Team. All rights reserved.
*
* The software in this package is published under the terms of the LGPL
* license a copy of which has been included with this distribution in the
* license.txt file.
*
* The JForum Project
* http://www.jforum.net
*/
package net.jforum.sso;
import static org.mockito.Mockito.*;
import javax.servlet.http.HttpServletRequest;
import net.jforum.entities.UserSession;
import net.jforum.util.ConfigKeys;
import net.jforum.util.JForumConfig;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
/**
* @author Rafael Steil, Jonatan Cloutier
*/
@RunWith(MockitoJUnitRunner.class)
public class RemoteUserSSOTestCase {
@Mock private JForumConfig config;
@Mock private HttpServletRequest request;
private UserSession us = new UserSession();
private SSO sso;
@Test
public void remoteUserNotNullSessionUserNameDoesNotMatchExpectFalse() {
when(request.getRemoteUser()).thenReturn("user");
us.getUser().setUsername("another user");
Assert.assertFalse(sso.isSessionValid(us));
}
@Test
public void remoteUserNotNullAnonymousUserExpectFalse() {
when(request.getRemoteUser()).thenReturn("user");
us.getUser().setId(1);
Assert.assertFalse(sso.isSessionValid(us));
}
@Test
public void remoteUserNullExpectFalse() {
when(request.getRemoteUser()).thenReturn(null);
Assert.assertFalse(sso.isSessionValid(us));
}
@Before
public void setup() {
us.setRequest(request);
sso = new RemoteUserSSO();
sso.setConfig(config);
when(config.getInt(ConfigKeys.ANONYMOUS_USER_ID)).thenReturn(1);
}
}