org.displaytag.portlet.PortletRequestHelperTest.java Source code

Java tutorial

Introduction

Here is the source code for org.displaytag.portlet.PortletRequestHelperTest.java

Source

/**
 * Licensed under the Artistic License; you may not use this file
 * except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://displaytag.sourceforge.net/license.html
 *
 * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */
package org.displaytag.portlet;

import java.util.Map;

import junit.framework.TestCase;

import org.springframework.mock.web.MockPageContext;
import org.springframework.mock.web.portlet.MockPortletRequest;
import org.springframework.mock.web.portlet.MockRenderResponse;

/**
 * @author Eric Dalquist <a href="mailto:edalquist@unicon.net">edalquist@unicon.net</a>
 * @version $Id: PortletRequestHelperTest.java 943 2005-12-26 22:36:54Z fgiust $
 */
public class PortletRequestHelperTest extends TestCase {

    /**
     * @see junit.framework.TestCase#getName()
     */
    public String getName() {
        return "PortletRequestHelper Test";
    }

    public void testNullPageContext() {
        try {
            new PortletRequestHelper(null);
            fail("IllegalArgumentException should have been thrown");
        } catch (IllegalArgumentException iae) {
            // expected
        }
    }

    public void testEmptyPageContext() {
        final MockPageContext pageContext = new MockPageContext();

        try {
            new PortletRequestHelper(pageContext);
            fail("IllegalStateException should have been thrown");
        } catch (IllegalStateException ise) {
            // expected
        }

        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_REQUEST, new MockPortletRequest());
        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_REQUEST, null);
        try {
            new PortletRequestHelper(pageContext);
            fail("IllegalStateException should have been thrown");
        } catch (IllegalStateException ise) {
            // expected
        }

        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_REQUEST, null);
        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_RESPONSE, new MockRenderResponse());
        try {
            new PortletRequestHelper(pageContext);
            fail("IllegalStateException should have been thrown");
        } catch (IllegalStateException ise) {
            // expected
        }
    }

    public void testBasicPageContext() {
        final MockPageContext pageContext = new MockPageContext();

        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_REQUEST, new MockPortletRequest());
        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_RESPONSE, new MockRenderResponse());

        new PortletRequestHelper(pageContext);
    }

    public void testRequestParameters() {
        final MockPageContext pageContext = new MockPageContext();
        final MockPortletRequest request = new MockPortletRequest();

        request.setParameter("STRING_PARAM", "STRING_VALUE");
        request.setParameter("INTEGER_PARAM", "31337");

        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_REQUEST, request);
        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_RESPONSE, new MockRenderResponse());

        final PortletRequestHelper helper = new PortletRequestHelper(pageContext);

        final String strVal = helper.getParameter("STRING_PARAM");
        assertEquals("STRING_VALUE", strVal);

        final Integer intVal = helper.getIntParameter("INTEGER_PARAM");
        assertEquals(new Integer(31337), intVal);

        final Integer nullIntVal = helper.getIntParameter("STRING_PARAM");
        assertNull(nullIntVal);

        final Map params = helper.getParameterMap();
        assertEquals(2, params.size());

        final String[] expextedStrArryVal = new String[] { "STRING_VALUE" };
        final String[] strArryVal = (String[]) params.get("STRING_PARAM");
        assertEquals(expextedStrArryVal.length, strArryVal.length);
        assertEquals(expextedStrArryVal[0], strArryVal[0]);

        final String[] expextedIntArryVal = new String[] { "31337" };
        final String[] intArryVal = (String[]) params.get("INTEGER_PARAM");
        assertEquals(expextedIntArryVal.length, intArryVal.length);
        assertEquals(expextedIntArryVal[0], intArryVal[0]);
    }

    public void testCreateEmptyHref() {
        final MockPageContext pageContext = new MockPageContext();

        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_REQUEST, new MockPortletRequest());
        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_RESPONSE, new MockRenderResponse());

        final PortletRequestHelper helper = new PortletRequestHelper(pageContext);

        final PortletHref ref = (PortletHref) helper.getHref();

        final Map params = ref.getParameterMap();
        assertEquals(0, params.size());

        assertNull(ref.getAnchor());
        assertNull(ref.getRequestedMode());
        assertNull(ref.getRequestedState());

        assertFalse(ref.isRequestedSecure());
    }

    public void testCreateSecureHref() {
        final MockPageContext pageContext = new MockPageContext();
        final MockPortletRequest request = new MockPortletRequest();

        request.setSecure(true);

        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_REQUEST, request);
        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_RESPONSE, new MockRenderResponse());

        final PortletRequestHelper helper = new PortletRequestHelper(pageContext);

        final PortletHref ref = (PortletHref) helper.getHref();

        final Map params = ref.getParameterMap();
        assertEquals(0, params.size());

        assertNull(ref.getAnchor());
        assertNull(ref.getRequestedMode());
        assertNull(ref.getRequestedState());

        assertTrue(ref.isRequestedSecure());
    }

    public void testParameterizedHref() {
        final MockPageContext pageContext = new MockPageContext();
        final MockPortletRequest request = new MockPortletRequest();

        request.setParameter("STRING_PARAM", "STRING_VALUE");
        request.setParameter("INTEGER_PARAM", "31337");

        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_REQUEST, request);
        pageContext.setAttribute(PortletRequestHelper.JAVAX_PORTLET_RESPONSE, new MockRenderResponse());

        final PortletRequestHelper helper = new PortletRequestHelper(pageContext);

        final PortletHref ref = (PortletHref) helper.getHref();

        final Map params = ref.getParameterMap();
        assertEquals(2, params.size());

        final String[] expextedStrArryVal = new String[] { "STRING_VALUE" };
        final String[] strArryVal = (String[]) params.get("STRING_PARAM");
        assertEquals(expextedStrArryVal.length, strArryVal.length);
        assertEquals(expextedStrArryVal[0], strArryVal[0]);

        final String[] expextedIntArryVal = new String[] { "31337" };
        final String[] intArryVal = (String[]) params.get("INTEGER_PARAM");
        assertEquals(expextedIntArryVal.length, intArryVal.length);
        assertEquals(expextedIntArryVal[0], intArryVal[0]);

        assertNull(ref.getAnchor());
        assertNull(ref.getRequestedMode());
        assertNull(ref.getRequestedState());

        assertFalse(ref.isRequestedSecure());
    }
}