/*
* Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com>
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: TestEngineOutputs.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.engine;
import com.meterware.httpunit.*;
import com.uwyn.rife.TestCaseServerside;
import com.uwyn.rife.engine.exceptions.OutputUnknownException;
public class TestEngineOutputs extends TestCaseServerside
{
public TestEngineOutputs(int siteType, String name)
{
super(siteType, name);
}
public void testOutputsValid()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/valid");
WebResponse response = conversation.getResponse(request);
assertEquals("the response", response.getText());
}
public void testOutputsNormalOutjection()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/normal/outjection");
try
{
WebResponse response = conversation.getResponse(request);
assertEquals("11124\n"+
"value2\n"+
"value3a\n"+
"870\n"+
"programmatic value5\n"+
"default value6\n", response.getText());
}
catch (Exception e)
{getLogSink().getInternalException().printStackTrace();}
}
public void testOutputsBeanNormal()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/bean/normal");
WebResponse response = null;
response = conversation.getResponse(request);
// adapt to serialization in different JDK versions
assertTrue(("the string,the stringbuffer,23154,893749,u,false,true,false,false,21,34878.34,25435.98,3434.76,6534.8,34347897,2335454,32,12,H4sIAAAAAAAAAFvzloG1uIhBOCuxLFGvtCQzR8+xqCix0iezuKSi8ZLszOOJc5kZGD0ZWIozq1IrChgYGFjLWYAkVwkDc35eKlCrIFhrTmJeup5nXklqemqR0KMFS743tlswgTSyliXmlKZWFDEIINT5leYmpRa1rZkqyz3lQTcTAwPYYKYSBtaSjKJUkKH8CMVuOfmJJbfenlx02+bDG6CRbjAjCxnqGFicDA/1A9WLIdQHlxRl5qU7laalpRbps7PffHXi1WUmBmagS5LzS/NKohjYijMSi1JToqHmlDAwRTuDHcDCUFoE4mxQS9vwKLZlDcxhIgxpDJkMZQypDARABQA/lGfcTgEAAA=="+
"the string;the stringbuffer;23154;893749;u;null;true;false;0;21;34878.34;25435.98;3434.76;6534.8;34347897;2335454;32;12;[one, 2, three, 44.44, five]").equals(response.getText()) ||
("the string,the stringbuffer,23154,893749,u,false,true,false,false,21,34878.34,25435.98,3434.76,6534.8,34347897,2335454,32,12,H4sIAAAAAAAAAFvzloG1uIhBOCuxLFGvtCQzR8+xqCix0iezuKSi8ZLszOOJc5kZGD0ZWIozq1IrChgYGFjLWYAkVwkDc35eKlCrIFhrTmJeup5nXklqemqR0KMFS743tlswgTSyliXmlKZWFDEIINT5leYmpRa1rZkqyz3lQTcTAwPYYKYSBtaSjKJUkKH8CMVuOfmJJbfenlx02+bDG6CRbjAjCxnqGFicDA/1A9WLIdQHlxRl5qU7laalpRbps7PffHXi1WVmBmagS5LzS/NKohjYijMSi1JToqHmlDAwRTuDHcDCUFoE4mxQS9vwKLZlDcxhIgxpDJkMZQypDARARQUAL3zR5E8BAAA="+
"the string;the stringbuffer;23154;893749;u;null;true;false;0;21;34878.34;25435.98;3434.76;6534.8;34347897;2335454;32;12;[one, 2, three, 44.44, five]").equals(response.getText()));
}
public void testOutputsBeanNormalOutjection()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/bean/normal/outjection");
WebResponse response = null;
response = conversation.getResponse(request);
// adapt to serialization in different JDK versions
assertTrue(("the string,the stringbuffer,23154,893749,u,false,true,false,false,21,34878.34,25435.98,3434.76,6534.8,34347897,2335454,32,12,H4sIAAAAAAAAAFvzloG1uIhBOCuxLFGvtCQzR8+xqCix0iezuKSi8ZLszOOJc5kZGD0ZWIozq1IrChgYGFjLWYAkVwkDc35eKlCrIFhrTmJeup5nXklqemqR0KMFS743tlswgTSyliXmlKZWFDEIINT5leYmpRa1rZkqyz3lQTcTAwPYYKYSBtaSjKJUkKH8CMVuOfmJJbfenlx02+bDG6CRbjAjCxnqGFicDA/1A9WLIdQHlxRl5qU7laalpRbps7PffHXi1WUmBmagS5LzS/NKohjYijMSi1JToqHmlDAwRTuDHcDCUFoE4mxQS9vwKLZlDcxhIgxpDJkMZQypDARABQA/lGfcTgEAAA=="+
"the string;the stringbuffer;23154;893749;u;null;true;false;0;21;34878.34;25435.98;3434.76;6534.8;34347897;2335454;32;12;[one, 2, three, 44.44, five]").equals(response.getText()) ||
("the string,the stringbuffer,23154,893749,u,false,true,false,false,21,34878.34,25435.98,3434.76,6534.8,34347897,2335454,32,12,H4sIAAAAAAAAAFvzloG1uIhBOCuxLFGvtCQzR8+xqCix0iezuKSi8ZLszOOJc5kZGD0ZWIozq1IrChgYGFjLWYAkVwkDc35eKlCrIFhrTmJeup5nXklqemqR0KMFS743tlswgTSyliXmlKZWFDEIINT5leYmpRa1rZkqyz3lQTcTAwPYYKYSBtaSjKJUkKH8CMVuOfmJJbfenlx02+bDG6CRbjAjCxnqGFicDA/1A9WLIdQHlxRl5qU7laalpRbps7PffHXi1WVmBmagS5LzS/NKohjYijMSi1JToqHmlDAwRTuDHcDCUFoE4mxQS9vwKLZlDcxhIgxpDJkMZQypDARARQUAL3zR5E8BAAA="+
"the string;the stringbuffer;23154;893749;u;null;true;false;0;21;34878.34;25435.98;3434.76;6534.8;34347897;2335454;32;12;[one, 2, three, 44.44, five]").equals(response.getText()));
}
public void testOutputsBeanPrefix()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/bean/prefix");
WebResponse response = null;
response = conversation.getResponse(request);
assertEquals("the string,the stringbuffer,23154,893749,u,false,true,false,false,21,34878.34,25435.98,3434.76,6534.8,34347897,2335454,32,12", response.getText());
}
public void testOutputsBeanPrefixOutjection()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/bean/prefix/outjection");
WebResponse response = null;
response = conversation.getResponse(request);
assertEquals("the string,the stringbuffer,23154,893749,u,false,true,false,false,21,34878.34,25435.98,3434.76,6534.8,34347897,2335454,32,12", response.getText());
}
public void testOutputsBeanNormalClear()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/bean/normal/clear");
WebResponse response = null;
response = conversation.getResponse(request);
assertEquals("ok,null,null,null,null,false,null,null,false,null,null,null,null,null,null,null,null,null", response.getText());
}
public void testOutputsBeanNormalNamedClear()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/bean/normal/named/clear");
WebResponse response = null;
response = conversation.getResponse(request);
assertEquals("ok,null,null,null,null,false,null,null,false,null,null,null,null,null,null,null,null,null", response.getText());
}
public void testOutputsBeanPrefixClear()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/bean/prefix/clear");
WebResponse response = null;
response = conversation.getResponse(request);
assertEquals("ok,null,null,null,null,false,null,null,false,null,null,null,null,null,null,null,null,null", response.getText());
}
public void testOutputsBeanPrefixNamedClear()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/bean/prefix/named/clear");
WebResponse response = null;
response = conversation.getResponse(request);
assertEquals("ok,null,null,null,null,false,null,null,false,null,null,null,null,null,null,null,null,null", response.getText());
}
public void testOutputsTyped()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/typed");
WebResponse response = conversation.getResponse(request);
assertEquals("astring"+","+"astring2"+","+"astring3"+","+"astring4"+
"U"+","+"V"+
"bko"+","+"kkl"+
Integer.MAX_VALUE+","+78327+
Long.MAX_VALUE+","+83764987398L+
34798.43+","+893749.56+
43.18f+","+87.34f, response.getText());
}
public void testOutputsGenerated()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/generated");
WebResponse response = conversation.getResponse(request);
assertEquals("Welcome Geert Bevin\n", response.getText());
}
public void testOutputsInvalid()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/invalid");
try
{
WebResponse response = conversation.getResponse(request);
fail();
assertNotNull(response);
}
catch (HttpInternalErrorException e)
{
assertTrue(getLogSink().getInternalException() instanceof OutputUnknownException);
OutputUnknownException e2 = (OutputUnknownException)getLogSink().getInternalException();
assertEquals("output1", e2.getOutputName());
assertEquals(e2.getDeclarationName(), "element/outputs/invalid.xml");
}
}
public void testOutputsDefaults()
throws Exception
{
setupSite("site/outputs.xml");
WebConversation conversation = new WebConversation();
WebRequest request = new GetMethodWebRequest("http://localhost:8181/outputs/defaults");
WebResponse response = conversation.getResponse(request);
assertEquals("the first value"+
"2rdb-2rda-2rdc-2rdd"+
"the element config value", response.getText());
}
}