Package com.pugh.sockso.web.action

Source Code of com.pugh.sockso.web.action.CovererTest

package com.pugh.sockso.web.action;

import com.pugh.sockso.tests.SocksoTestCase;
import com.pugh.sockso.tests.TestRequest;
import com.pugh.sockso.web.action.covers.BaseCoverer;

public class CovererTest extends SocksoTestCase {

    private Coverer action;

    public static int runState = 0;

    @Override
    protected void setUp() {
        action = new Coverer();
        action.setRequest( new TestRequest("GET /foo/bar HTTP/1.0") );
    }

    public void testNoLoginRequired() {
        assertFalse( action.requiresLogin() );
    }

    public void testNoSessionRequired() {
        assertFalse( action.requiresSession() );
    }
   
    public void testCoverPluginsAreCheckedForCoverMatches() throws Exception {
        runState = 0;
        action.addPlugin(new CovererPluginAdapter() {
            public boolean serveCover( String name ) {
                CovererTest.runState = 1;
                return true;
            }
        });
        action.handleRequest();
        assertEquals( 1, runState );
    }

    public void testPluginProcessingStopsWhenFirstPluginReturnsTrue() throws Exception {
        runState = 0;
        action.addPlugin(new CovererPluginAdapter() {
            public boolean serveCover( String name ) {
                CovererTest.runState = 1;
                return true;
            }
        });
        action.addPlugin(new CovererPluginAdapter() {
            public boolean serveCover( String name ) {
                CovererTest.runState = 2;
                return true;
            }
        });
        action.handleRequest();
        assertEquals( 1, runState );
    }

}

class CovererPluginAdapter extends BaseCoverer {
    public boolean serveCover( String name ) {
        return false;
    }
}
TOP

Related Classes of com.pugh.sockso.web.action.CovererTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.