package com.pugh.sockso.web;
import com.pugh.sockso.Constants;
import com.pugh.sockso.Properties;
import com.pugh.sockso.StringProperties;
import com.pugh.sockso.tests.SocksoTestCase;
import com.pugh.sockso.web.action.BaseAction;
public class ServerThreadTest extends SocksoTestCase {
private ServerThread st;
private Properties p;
class LoginAction extends BaseAction {
public void handleRequest() {}
}
class LoginRequiredAction extends LoginAction {
@Override
public boolean requiresLogin() { return true; }
}
class LoginNotRequiredAction extends LoginAction {
@Override
public boolean requiresLogin() { return false; }
}
@Override
protected void setUp() {
p = new StringProperties();
p.set( Constants.WWW_USERS_REQUIRE_LOGIN, Properties.YES );
st = new ServerThread( null, null, p, null, null, null );
}
public void testActionDeniedWhenItRequiresAUserAndSessionDoesntExist() {
assertTrue( st.loginRequired(null,new LoginRequiredAction()) );
}
public void testActionOkWhenItRequiresAUserAndSessionExists() {
assertFalse( st.loginRequired(new User(1,""), new LoginRequiredAction()) );
}
public void testActionOkWhenItDoesntRequireAUserAndASessionDoesntExist() {
assertFalse( st.loginRequired(null,new LoginNotRequiredAction()) );
}
}