/* * $Id: $ * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.struts.taglib; import junit.framework.TestCase; import org.apache.struts.Globals; import org.apache.struts.config.ForwardConfig; import org.apache.struts.config.ModuleConfig; import org.apache.struts.config.impl.ModuleConfigImpl; import org.apache.struts.mock.MockHttpServletRequest; import org.apache.struts.mock.MockHttpServletResponse; import org.apache.struts.mock.MockHttpSession; import org.apache.struts.mock.MockPageContext; import org.apache.struts.mock.MockServletConfig; import org.apache.struts.mock.MockServletContext; import org.apache.struts.util.MessageResources; import org.apache.struts.util.MessageResourcesFactory; import org.apache.struts.util.PropertyMessageResources; public class TagTestBase extends TestCase { protected TagUtils tagutils = TagUtils.getInstance(); protected MockServletConfig servletConfig; protected MockServletContext servletContext; protected MockHttpServletRequest request; protected MockPageContext pageContext; protected ModuleConfig moduleConfig; protected ModuleConfig moduleConfig2; protected ModuleConfig moduleConfig3; public TagTestBase() { super(); } public TagTestBase(String theName) { super(theName); } /** * Helper method that creates/configures a basic configuration of Mock * Objects. * * * PageContext ServletConfig ServletContext HttpServletRequest HttpSession * HttpServletResponse * * "/myapp", "/foo", null, null, */ public void setUp() { // -- default Module this.moduleConfig = new ModuleConfigImpl(""); this.moduleConfig.addForwardConfig(new ForwardConfig("foo", "/bar.jsp", false)); this.moduleConfig.addForwardConfig(new ForwardConfig("relative1", "relative.jsp", false)); this.moduleConfig.addForwardConfig(new ForwardConfig("relative2", "relative.jsp", false)); this.moduleConfig.addForwardConfig(new ForwardConfig("external", "http://struts.apache.org/", false)); // -- module "/2" this.moduleConfig2 = new ModuleConfigImpl("/2"); this.moduleConfig2.addForwardConfig(new ForwardConfig("foo", "/baz.jsp", false)); this.moduleConfig2.addForwardConfig(new ForwardConfig("relative1", "relative.jsp", false)); this.moduleConfig2.addForwardConfig(new ForwardConfig("relative2", "relative.jsp", false)); this.moduleConfig2.addForwardConfig(new ForwardConfig("external", "http://struts.apache.org/", false)); // -- module "/3" this.moduleConfig3 = new ModuleConfigImpl("/3"); // -- configure the ServletContext this.servletContext = new MockServletContext(); this.servletContext.setAttribute(Globals.MODULE_KEY, moduleConfig); this.servletContext.setAttribute(Globals.MODULE_KEY + "/2", moduleConfig2); this.servletContext.setAttribute(Globals.MODULE_KEY + "/3", moduleConfig3); // -- configure the ServletConfig this.servletConfig = new MockServletConfig(); this.servletConfig.setServletContext(servletContext); // -- configure the request this.request = new MockHttpServletRequest(new MockHttpSession()); pageContext = new MockPageContext(servletConfig, request, new MockHttpServletResponse()); } public void tearDown() { this.moduleConfig = null; this.moduleConfig2 = null; this.moduleConfig3 = null; this.pageContext = null; this.request = null; } protected void putBundleInScope(int scope, boolean returnNull) { MessageResourcesFactory factory = MessageResourcesFactory.createFactory(); MessageResources messageResources = new PropertyMessageResources(factory, "org.apache.struts.taglib.sample"); messageResources.setReturnNull(returnNull); pageContext.setAttribute(Globals.MESSAGES_KEY, messageResources, scope); } }