package com.pugh.sockso.web.action.api;
import com.pugh.sockso.tests.SocksoTestCase;
import com.pugh.sockso.web.Request;
public class ApiActionTest extends SocksoTestCase {
private BaseApiAction action;
@Override
protected void setUp() {
action = new MyApiAction();
}
public void testLoginRequiredByDefault() {
assertTrue( action.requiresLogin() );
}
public void testGetoffsetReturnsIntValueWhenSpecified() {
action.setRequest(getRequest( "/?offset=123" ));
assertEquals( 123, action.getOffset() );
}
public void testGetoffsetReturnsDefaultValueWhenNotSpecified() {
action.setRequest(getRequest( "/" ));
assertEquals( BaseApiAction.DEFAULT_OFFSET, action.getOffset() );
}
public void testGetoffsetReturnsDefaultValueWhenInvalidSpecified() {
action.setRequest(getRequest( "/?offset=foo" ));
assertEquals( BaseApiAction.DEFAULT_OFFSET, action.getOffset() );
}
public void testGetlimitReturnsIntValueWhenSpecified() {
action.setRequest(getRequest( "/?limit=123" ));
assertEquals( 123, action.getLimit() );
}
public void testGetlimitReturnsDefaultValueWhenNotSpecified() {
action.setRequest(getRequest( "/" ));
assertEquals( BaseApiAction.DEFAULT_LIMIT, action.getLimit() );
}
public void testGetlimitReturnsDefaultValueWhenInvalidSpecified() {
action.setRequest(getRequest( "/?limit=foo" ));
assertEquals( BaseApiAction.DEFAULT_LIMIT, action.getLimit() );
}
}
class MyApiAction extends BaseApiAction {
public boolean canHandle( final Request req ) {
return false;
}
public void handleRequest() {}
}