/* * Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com> * Licensed under the Apache License, Version 2.0 (the "License") * $Id: TestEngineExtending.java 3958 2008-05-26 12:04:14Z gbevin $ */ package com.uwyn.rife.engine; import com.meterware.httpunit.*; import com.uwyn.rife.TestCaseServerside; public class TestEngineExtending extends TestCaseServerside { public TestEngineExtending(int siteType, String name) { super(siteType, name); } public void testExtendingSimple() throws Exception { setupSite("site/extending.xml"); WebConversation conversation = new WebConversation(); WebRequest request = null; WebResponse response = null; conversation.addCookie("incookie1", "incookie1requestvalue"); request = new PostMethodWebRequest("http://localhost:8181/extending/simple"); request.setParameter("input1", "input1requestvalue"); request.setParameter(ReservedParameters.SUBMISSION, "submission1"); request.setParameter("param1", "param1requestvalue"); response = conversation.getResponse(request); assertEquals("outcookie1elementvalue", conversation.getCookieValue("outcookie1")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie2")); assertEquals("Blueprint"+ "value1"+ "value2"+ "input1requestvalue"+ "inputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "param1requestvalue"+ "paramdefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/simple"); request.setParameter("switch", "exit1"); response = conversation.getResponse(request); assertEquals("Blueprint"+ "value1"+ "value2"+ "output1exit1"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/simple"); request.setParameter("switch", "exit2"); response = conversation.getResponse(request); assertEquals("Blueprint"+ "value1"+ "value2"+ "output1exit2"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault", response.getText()); } public void testExtendingSimpleInSite() throws Throwable { setupSite("site/extending_in_site.xml"); WebConversation conversation = new WebConversation(); WebRequest request = null; WebResponse response = null; conversation.addCookie("incookie1", "incookie1requestvalue"); request = new PostMethodWebRequest("http://localhost:8181/extending/simple"); request.setParameter("input1", "input1requestvalue"); request.setParameter(ReservedParameters.SUBMISSION, "submission1"); request.setParameter("param1", "param1requestvalue"); response = conversation.getResponse(request); assertEquals("outcookie1elementvalue", conversation.getCookieValue("outcookie1")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie2")); assertEquals("Blueprint"+ "value1"+ "value2"+ "input1requestvalue"+ "inputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "param1requestvalue"+ "paramdefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/simple"); request.setParameter("switch", "exit1"); response = conversation.getResponse(request); assertEquals("Blueprint"+ "value1"+ "value2"+ "output1exit1"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/simple"); request.setParameter("switch", "exit2"); response = conversation.getResponse(request); assertEquals("Blueprint"+ "value1"+ "value2"+ "output1exit2"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault", response.getText()); } public void testExtendingClassOverriding() throws Exception { setupSite("site/extending.xml"); WebConversation conversation = new WebConversation(); WebRequest request = null; WebResponse response = null; conversation.addCookie("incookie1", "incookie1requestvalue"); request = new PostMethodWebRequest("http://localhost:8181/extending/classoverriding"); request.setParameter("input1", "input1requestvalue"); request.setParameter(ReservedParameters.SUBMISSION, "submission1"); request.setParameter("param1", "param1requestvalue"); response = conversation.getResponse(request); assertEquals("outcookie1elementvalue", conversation.getCookieValue("outcookie1")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie2")); assertEquals("ClassOverriding"+ "value1"+ "value2"+ "input1requestvalue"+ "inputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "param1requestvalue"+ "paramdefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/classoverriding"); request.setParameter("switch", "exit1"); response = conversation.getResponse(request); assertEquals("ClassOverriding"+ "value1"+ "value2"+ "output1exit1"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/classoverriding"); request.setParameter("switch", "exit2"); response = conversation.getResponse(request); assertEquals("ClassOverriding"+ "value1"+ "value2"+ "output1exit2"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault", response.getText()); } public void testExtendingClassOverridingInSite() throws Exception { setupSite("site/extending_in_site.xml"); WebConversation conversation = new WebConversation(); WebRequest request = null; WebResponse response = null; conversation.addCookie("incookie1", "incookie1requestvalue"); request = new PostMethodWebRequest("http://localhost:8181/extending/classoverriding"); request.setParameter("input1", "input1requestvalue"); request.setParameter(ReservedParameters.SUBMISSION, "submission1"); request.setParameter("param1", "param1requestvalue"); response = conversation.getResponse(request); assertEquals("outcookie1elementvalue", conversation.getCookieValue("outcookie1")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie2")); assertEquals("ClassOverriding"+ "value1"+ "value2"+ "input1requestvalue"+ "inputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "param1requestvalue"+ "paramdefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/classoverriding"); request.setParameter("switch", "exit1"); response = conversation.getResponse(request); assertEquals("ClassOverriding"+ "value1"+ "value2"+ "output1exit1"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/classoverriding"); request.setParameter("switch", "exit2"); response = conversation.getResponse(request); assertEquals("ClassOverriding"+ "value1"+ "value2"+ "output1exit2"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault", response.getText()); } public void testExtendingStaticPropertiesOverriding() throws Exception { setupSite("site/extending.xml"); WebConversation conversation = new WebConversation(); WebRequest request = null; WebResponse response = null; conversation.addCookie("incookie1", "incookie1requestvalue"); request = new PostMethodWebRequest("http://localhost:8181/extending/staticpropertiesoverriding"); request.setParameter("input1", "input1requestvalue"); request.setParameter(ReservedParameters.SUBMISSION, "submission1"); request.setParameter("param1", "param1requestvalue"); response = conversation.getResponse(request); assertEquals("outcookie1elementvalue", conversation.getCookieValue("outcookie1")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie2")); assertEquals("Blueprint"+ "overriddenvalue1"+ "overriddenvalue2"+ "input1requestvalue"+ "inputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "param1requestvalue"+ "paramdefault", response.getText()); } public void testExtendingStaticPropertiesOverridingInSite() throws Exception { setupSite("site/extending_in_site.xml"); WebConversation conversation = new WebConversation(); WebRequest request = null; WebResponse response = null; conversation.addCookie("incookie1", "incookie1requestvalue"); request = new PostMethodWebRequest("http://localhost:8181/extending/propertiesoverriding"); request.setParameter("input1", "input1requestvalue"); request.setParameter(ReservedParameters.SUBMISSION, "submission1"); request.setParameter("param1", "param1requestvalue"); response = conversation.getResponse(request); assertEquals("outcookie1elementvalue", conversation.getCookieValue("outcookie1")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie2")); assertEquals("Blueprint"+ "overriddenvalue1"+ "overriddenvalue2"+ "input1requestvalue"+ "inputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "param1requestvalue"+ "paramdefault", response.getText()); } public void testExtendingAdding() throws Exception { setupSite("site/extending.xml"); WebConversation conversation = new WebConversation(); WebRequest request = null; WebResponse response = null; conversation.addCookie("incookie1", "incookie1requestvalue"); conversation.addCookie("incookie3", "incookie3requestvalue"); request = new PostMethodWebRequest("http://localhost:8181/extending/adding"); request.setParameter("input1", "input1requestvalue"); request.setParameter("input3", "input3requestvalue"); request.setParameter(ReservedParameters.SUBMISSION, "submission2"); request.setParameter("param1", "param1requestvalue"); response = conversation.getResponse(request); assertEquals("outcookie1elementvalue", conversation.getCookieValue("outcookie1")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie2")); assertEquals("outcookie3elementvalue", conversation.getCookieValue("outcookie3")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie4")); assertEquals("Adding"+ "value1"+ "value2"+ "value3"+ "value4"+ "input1requestvalue"+ "inputdefault"+ "input3requestvalue"+ "inputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault"+ "param1requestvalue"+ "submission2paramdefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/adding"); request.setParameter("switch", "exit1"); response = conversation.getResponse(request); assertEquals("Adding"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit1"+ "outputdefault"+ "output3exit1"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/adding"); request.setParameter("switch", "exit2"); response = conversation.getResponse(request); assertEquals("Adding"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit2"+ "outputdefault"+ "output3exit2"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/adding"); request.setParameter("switch", "exit3"); response = conversation.getResponse(request); assertEquals("Adding"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit3"+ "outputdefault"+ "output3exit3"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/adding"); request.setParameter("switch", "exit4"); response = conversation.getResponse(request); assertEquals("Adding"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit4"+ "outputdefault"+ "output3exit4"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); } public void testExtendingAddingInSite() throws Exception { setupSite("site/extending_in_site.xml"); WebConversation conversation = new WebConversation(); WebRequest request = null; WebResponse response = null; conversation.addCookie("incookie1", "incookie1requestvalue"); conversation.addCookie("incookie3", "incookie3requestvalue"); request = new PostMethodWebRequest("http://localhost:8181/extending/adding"); request.setParameter("input1", "input1requestvalue"); request.setParameter("input3", "input3requestvalue"); request.setParameter(ReservedParameters.SUBMISSION, "submission2"); request.setParameter("param1", "param1requestvalue"); response = conversation.getResponse(request); assertEquals("outcookie1elementvalue", conversation.getCookieValue("outcookie1")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie2")); assertEquals("outcookie3elementvalue", conversation.getCookieValue("outcookie3")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie4")); assertEquals("Adding"+ "value1"+ "value2"+ "value3"+ "value4"+ "input1requestvalue"+ "inputdefault"+ "input3requestvalue"+ "inputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault"+ "param1requestvalue"+ "submission2paramdefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/adding"); request.setParameter("switch", "exit1"); response = conversation.getResponse(request); assertEquals("Adding"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit1"+ "outputdefault"+ "output3exit1"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/adding"); request.setParameter("switch", "exit2"); response = conversation.getResponse(request); assertEquals("Adding"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit2"+ "outputdefault"+ "output3exit2"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/adding"); request.setParameter("switch", "exit3"); response = conversation.getResponse(request); assertEquals("Adding"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit3"+ "outputdefault"+ "output3exit3"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/adding"); request.setParameter("switch", "exit4"); response = conversation.getResponse(request); assertEquals("Adding"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit4"+ "outputdefault"+ "output3exit4"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); } public void testExtendingMultipleLevels() throws Exception { setupSite("site/extending.xml"); WebConversation conversation = new WebConversation(); WebRequest request = null; WebResponse response = null; conversation.addCookie("incookie1", "incookie1requestvalue"); conversation.addCookie("incookie3", "incookie3requestvalue"); request = new PostMethodWebRequest("http://localhost:8181/extending/multiplelevels"); request.setParameter("input1", "input1requestvalue"); request.setParameter("input3", "input3requestvalue"); request.setParameter(ReservedParameters.SUBMISSION, "submission2"); request.setParameter("param1", "param1requestvalue"); response = conversation.getResponse(request); assertEquals("outcookie1elementvalue", conversation.getCookieValue("outcookie1")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie2")); assertEquals("outcookie3elementvalue", conversation.getCookieValue("outcookie3")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie4")); assertEquals("MultipleLevels"+ "value1"+ "value2"+ "value3"+ "value4"+ "input1requestvalue"+ "inputdefault"+ "input3requestvalue"+ "inputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault"+ "param1requestvalue"+ "submission2paramdefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/multiplelevels"); request.setParameter("switch", "exit1"); response = conversation.getResponse(request); assertEquals("MultipleLevels"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit1"+ "outputdefault"+ "output3exit1"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/multiplelevels"); request.setParameter("switch", "exit2"); response = conversation.getResponse(request); assertEquals("MultipleLevels"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit2"+ "outputdefault"+ "output3exit2"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/multiplelevels"); request.setParameter("switch", "exit3"); response = conversation.getResponse(request); assertEquals("MultipleLevels"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit3"+ "outputdefault"+ "output3exit3"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/multiplelevels"); request.setParameter("switch", "exit4"); response = conversation.getResponse(request); assertEquals("MultipleLevels"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit4"+ "outputdefault"+ "output3exit4"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); } public void testExtendingMultipleLevelsInSite() throws Exception { setupSite("site/extending_in_site.xml"); WebConversation conversation = new WebConversation(); WebRequest request = null; WebResponse response = null; conversation.addCookie("incookie1", "incookie1requestvalue"); conversation.addCookie("incookie3", "incookie3requestvalue"); request = new PostMethodWebRequest("http://localhost:8181/extending/multiplelevels"); request.setParameter("input1", "input1requestvalue"); request.setParameter("input3", "input3requestvalue"); request.setParameter(ReservedParameters.SUBMISSION, "submission2"); request.setParameter("param1", "param1requestvalue"); response = conversation.getResponse(request); assertEquals("outcookie1elementvalue", conversation.getCookieValue("outcookie1")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie2")); assertEquals("outcookie3elementvalue", conversation.getCookieValue("outcookie3")); assertEquals("outcookiedefault", conversation.getCookieValue("outcookie4")); assertEquals("MultipleLevels"+ "value1"+ "value2"+ "value3"+ "value4"+ "input1requestvalue"+ "inputdefault"+ "input3requestvalue"+ "inputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault"+ "param1requestvalue"+ "submission2paramdefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/multiplelevels"); request.setParameter("switch", "exit1"); response = conversation.getResponse(request); assertEquals("MultipleLevels"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit1"+ "outputdefault"+ "output3exit1"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/multiplelevels"); request.setParameter("switch", "exit2"); response = conversation.getResponse(request); assertEquals("MultipleLevels"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit2"+ "outputdefault"+ "output3exit2"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/multiplelevels"); request.setParameter("switch", "exit3"); response = conversation.getResponse(request); assertEquals("MultipleLevels"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit3"+ "outputdefault"+ "output3exit3"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); request = new GetMethodWebRequest("http://localhost:8181/extending/multiplelevels"); request.setParameter("switch", "exit4"); response = conversation.getResponse(request); assertEquals("MultipleLevels"+ "value1"+ "value2"+ "value3"+ "value4"+ "output1exit4"+ "outputdefault"+ "output3exit4"+ "outputdefault"+ "incookie1requestvalue"+ "incookiedefault"+ "incookie3requestvalue"+ "incookiedefault", response.getText()); } }