// Created on 18.10.2006
package com.w4t.engine;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import junit.framework.TestCase;
import org.eclipse.rwt.internal.service.*;
import com.w4t.W4TFixture;
import com.w4t.W4TFixture.*;
public class FirstAccess_Test extends TestCase {
protected void setUp() throws Exception {
W4TFixture.setUp();
W4TFixture.createContext( false );
TestResponse response = ( TestResponse )ContextProvider.getResponse();
response.setOutputStream( new TestServletOutputStream() );
HttpServletRequest request = ContextProvider.getRequest();
TestSession session = ( TestSession )request.getSession();
session.setNew( true );
}
protected void tearDown() throws Exception {
W4TFixture.tearDown();
W4TFixture.removeContext();
}
public void testStartupWithoutParams() throws IOException, ServletException {
ServiceManager.getHandler().service();
String allMarkup = W4TFixture.getAllMarkup();
int contains = allMarkup.indexOf( "W4Toolkit Startup Page" );
assertTrue( contains != -1 );
assertTrue( ContextProvider.getStateInfo().isFirstAccess() );
createNewContext();
W4TFixture.fakeRequestParam( RequestParams.STARTUP, "xyz" );
W4TFixture.fakeRequestParam( RequestParams.SCRIPT, "true" );
W4TFixture.fakeRequestParam( RequestParams.AJAX_ENABLED, "true" );
String userAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)";
W4TFixture.fakeUserAgent( userAgent );
ServiceManager.getHandler().service();
allMarkup = W4TFixture.getAllMarkup();
contains = allMarkup.indexOf( "This is the W4Toolkit W4TFixture Form!" );
assertTrue( contains != -1 );
assertTrue( ContextProvider.getStateInfo().isFirstAccess() );
createNewContext();
W4TFixture.fakeRequestParam( RequestParams.AJAX_ENABLED, "true" );
W4TFixture.fakeRequestParam( RequestParams.UIROOT, "w1;p1" );
W4TFixture.fakeRequestParam( RequestParams.REQUEST_COUNTER, "0" );
ServiceManager.getHandler().service();
contains = allMarkup.indexOf( "This is the W4Toolkit W4TFixture Form!" );
assertTrue( contains != -1 );
assertFalse( ContextProvider.getStateInfo().isFirstAccess() );
}
public void testStartupWithParams() throws IOException, ServletException {
W4TFixture.fakeRequestParam( RequestParams.STARTUP, "xyz" );
W4TFixture.fakeRequestParam( RequestParams.SCRIPT, "true" );
W4TFixture.fakeRequestParam( RequestParams.AJAX_ENABLED, "true" );
String userAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)";
W4TFixture.fakeUserAgent( userAgent );
ServiceManager.getHandler().service();
String allMarkup = W4TFixture.getAllMarkup();
int contains = allMarkup.indexOf( "This is the W4Toolkit W4TFixture Form!" );
assertTrue( contains != -1 );
assertTrue( ContextProvider.getStateInfo().isFirstAccess() );
createNewContext();
W4TFixture.fakeRequestParam( RequestParams.AJAX_ENABLED, "true" );
W4TFixture.fakeRequestParam( RequestParams.UIROOT, "w1;p1" );
W4TFixture.fakeRequestParam( RequestParams.REQUEST_COUNTER, "0" );
ServiceManager.getHandler().service();
contains = allMarkup.indexOf( "This is the W4Toolkit W4TFixture Form!" );
assertTrue( contains != -1 );
assertFalse( ContextProvider.getStateInfo().isFirstAccess() );
createNewContext();
W4TFixture.fakeRequestParam( RequestParams.STARTUP, "xyz" );
ServiceManager.getHandler().service();
contains = allMarkup.indexOf( "This is the W4Toolkit W4TFixture Form!" );
assertTrue( contains != -1 );
assertTrue( ContextProvider.getStateInfo().isFirstAccess() );
}
private void createNewContext() {
HttpServletRequest request = ContextProvider.getRequest();
TestSession session = ( TestSession )request.getSession();
session.setNew( false );
ContextProvider.disposeContext();
TestRequest testRequest = new TestRequest();
testRequest.setSession( session );
TestResponse testResponse = new TestResponse();
testResponse.setOutputStream( new TestServletOutputStream() );
ServiceContext context = new ServiceContext( testRequest, testResponse );
ContextProvider.setContext( context );
}
}