001: // StrutsTestCase - a JUnit extension for testing Struts actions
002: // within the context of the ActionServlet.
003: // Copyright (C) 2002 Deryl Seale
004: //
005: // This library is free software; you can redistribute it and/or
006: // modify it under the terms of the Apache Software License as
007: // published by the Apache Software Foundation; either version 1.1
008: // of the License, or (at your option) any later version.
009: //
010: // This library is distributed in the hope that it will be useful,
011: // but WITHOUT ANY WARRANTY; without even the implied warranty of
012: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
013: // Apache Software Foundation Licens for more details.
014: //
015: // You may view the full text here: http://www.apache.org/LICENSE.txt
016:
017: package servletunit.tests;
018:
019: import junit.framework.Test;
020: import junit.framework.TestCase;
021: import junit.framework.TestSuite;
022: import servletunit.HttpServletResponseSimulator;
023:
024: import java.util.Date;
025:
026: /**
027: * A Junit based test of the HttpServletResponseSimulator class
028: * @author Sean Pritchard
029: * @version 1.0
030: */
031:
032: public class TestHttpServletResponseSimulator extends TestCase {
033:
034: public TestHttpServletResponseSimulator(String testCase) {
035: super (testCase);
036: }
037:
038: /**
039: * Ensures the value returned by encodeURL contains the
040: * original url.
041: */
042: public void testEncodeURL() {
043: HttpServletResponseSimulator response = new HttpServletResponseSimulator();
044: String url = "http://sourceforge.net";
045: assertTrue(response.encodeURL(url).indexOf(url) != -1);
046: }
047:
048: /**
049: * Ensures the value returned by encodeUrl contains the
050: * original url.
051: */
052: public void testEncodeUrl() {
053: HttpServletResponseSimulator response = new HttpServletResponseSimulator();
054: String url = "http://sourceforge.net";
055: assertTrue(response.encodeUrl(url).indexOf(url) != -1);
056: }
057:
058: /**
059: * Ensures the value returned by encodeRedirectURL contains the
060: * original url.
061: */
062: public void testEncodeRedirectURL() {
063: HttpServletResponseSimulator response = new HttpServletResponseSimulator();
064: String url = "http://sourceforge.net";
065: assertTrue(response.encodeRedirectURL(url).indexOf(url) != -1);
066: }
067:
068: /**
069: * Ensures the value returned by encodeRedirectUrl contains the
070: * original url.
071: */
072: public void testEncodeRedirectUrl() {
073: HttpServletResponseSimulator response = new HttpServletResponseSimulator();
074: String url = "http://sourceforge.net";
075: assertTrue(response.encodeRedirectUrl(url).indexOf(url) != -1);
076: }
077:
078: /**
079: * tests the setHeader() and containsHeader() methods
080: */
081: public void testSetHeader() {
082: HttpServletResponseSimulator response = new HttpServletResponseSimulator();
083: response.setHeader("TestName", "testValue");
084: assertTrue(response.containsHeader("TestName"));
085: }
086:
087: /**
088: * tests the setIntHeader() and containsHeader() methods.
089: */
090: public void testSetIntHeader() {
091: HttpServletResponseSimulator response = new HttpServletResponseSimulator();
092: response.setIntHeader("TestName", 5);
093: assertTrue(response.containsHeader("TestName"));
094: }
095:
096: public static Test suite() {
097: return new TestSuite(TestHttpServletResponseSimulator.class);
098: }
099:
100: /**
101: * tests the send redirect method
102: * @throws Exception
103: */
104: public void testSendRedirect() throws Exception {
105: HttpServletResponseSimulator response = new HttpServletResponseSimulator();
106: response.sendRedirect("http://sourceforge.net");
107: response.containsHeader("Location");
108: }
109:
110: /**
111: * tests that getContentType() returns the value previously set
112: * by calling setContentType() or setHeader() with a "Content-type"
113: * parameter
114: */
115: public void testContentType() {
116: String type = "image/gif";
117: String type2 = "text/xml";
118: String type3 = "video/mpeg";
119: HttpServletResponseSimulator response = new HttpServletResponseSimulator();
120: response.setContentType(type);
121: assertEquals(type, response.getContentType());
122: response.setHeader("Content-type", type2);
123: assertEquals(type2, response.getContentType());
124: response.addHeader("Content-type", type3);
125: assertEquals(type3, response.getContentType());
126: }
127:
128: /**
129: * tests that getContentLength() returns the value previously set
130: * by calling setContentLength() or setIntHeader() with a "Content-length"
131: * parameter
132: */
133: public void testContentLength() {
134: int len1 = 25;
135: int len2 = 156;
136: int len3 = 42;
137: HttpServletResponseSimulator response = new HttpServletResponseSimulator();
138: response.setContentLength(len1);
139: assertEquals(len1, response.getContentLength());
140: response.setIntHeader("Content-length", len2);
141: assertEquals(len2, response.getContentLength());
142: response.addIntHeader("Content-length", len3);
143: assertEquals(len3, response.getContentLength());
144: }
145:
146: public void testAddDateHeader() {
147: Date date = new Date(2004, 5, 23);
148: HttpServletResponseSimulator response = new HttpServletResponseSimulator();
149: response.addDateHeader("date", date.getTime());
150: assertEquals("unexpected header value",
151: "Thu, 23 Jun 3904 00:00:00 PDT", response
152: .getHeader("date"));
153: }
154: }
|