KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > displaytag > jsptests > FilterTest


1 package org.displaytag.jsptests;
2
3 import org.apache.log4j.Level;
4 import org.apache.log4j.Logger;
5 import org.displaytag.properties.MediaTypeEnum;
6 import org.displaytag.tags.TableTag;
7 import org.displaytag.tags.TableTagParameters;
8 import org.displaytag.tags.el.ELTableTag;
9 import org.displaytag.test.DisplaytagCase;
10 import org.displaytag.util.ParamEncoder;
11
12 import com.meterware.httpunit.GetMethodWebRequest;
13 import com.meterware.httpunit.HttpInternalErrorException;
14 import com.meterware.httpunit.WebRequest;
15 import com.meterware.httpunit.WebResponse;
16
17
18 /**
19  * Tests the ResponseOverrideFilter.
20  * @author Fabrizio Giustina
21  * @version $Revision: 707 $ ($Author: fgiust $)
22  */

23 public class FilterTest extends DisplaytagCase
24 {
25
26     /**
27      * @see org.displaytag.test.DisplaytagCase#getJspName()
28      */

29     public String JavaDoc getJspName()
30     {
31         return "filter.jsp";
32     }
33
34     /**
35      * @see org.displaytag.test.DisplaytagCase#doTest(java.lang.String)
36      */

37     public void doTest(String JavaDoc jspName) throws Exception JavaDoc
38     {
39         ParamEncoder encoder = new ParamEncoder("table");
40         String JavaDoc mediaParameter = encoder.encodeParameterName(TableTagParameters.PARAMETER_EXPORTTYPE);
41
42         WebRequest request = new GetMethodWebRequest(jspName);
43         request.setParameter(mediaParameter, Integer.toString(MediaTypeEnum.XML.getCode()));
44
45         // save previous level, since we are expeting an excetion I don't want to fill logs
46
Level previousLevel = Logger.getLogger(TableTag.class).getLevel();
47         Level previousLevelEL = Logger.getLogger(ELTableTag.class).getLevel();
48
49         try
50         {
51             // disable log
52
Logger.getLogger(TableTag.class).setLevel(Level.OFF);
53             Logger.getLogger(ELTableTag.class).setLevel(Level.OFF);
54
55             // check if page need a filter (unfiltered request)
56
runner.getResponse(request);
57             fail("Request works also without a filter. Can't test it properly.");
58         }
59         catch (HttpInternalErrorException e)
60         {
61             // it's ok
62
}
63
64         // reset log
65
Logger.getLogger(TableTag.class).setLevel(previousLevel);
66         Logger.getLogger(ELTableTag.class).setLevel(previousLevelEL);
67
68         request = new GetMethodWebRequest(jspName);
69         request.setParameter(mediaParameter, Integer.toString(MediaTypeEnum.XML.getCode()));
70
71         // this enable the filter!
72
request.setParameter(TableTagParameters.PARAMETER_EXPORTING, "1");
73
74         WebResponse response = runner.getResponse(request);
75
76         assertEquals("Expected a different content type.", "text/xml", response.getContentType());
77     }
78
79 }
Popular Tags