I found out solution for this by overriding createRequestCycle() in WicketTester.

@Override
public WebRequestCycle createRequestCycle() {
      final WebRequestCycle mockCycle = super.createRequestCycle();

final MockHttpServletRequest mockRequest = new MockHttpServletRequest(getApplication(), //
              getServletSession(), getApplication().getServletContext());
final MockHttpServletResponse mockResponse = new MockHttpServletResponse(mockRequest);

      final WebRequest request = new ServletWebRequest(mockRequest);
      final WebResponse response = new WebResponse(mockResponse);

      mockCycle.setRequest(request);
      mockCycle.setResponse(response);
      return mockCycle;
}


On 10/03/2011 01:16 PM, Jan Ferko wrote:
Hi everyone,

We use proxy around HttpServletResponse in our application. I would like to test components/pages using WicketTester, but when WicketTester tries to startPage it throws following exception:

java.lang.ClassCastException: myPackage.HttpServletResponseProxy cannot be cast to org.apache.wicket.protocol.http.MockHttpServletResponse at org.apache.wicket.protocol.http.MockWebApplication.postProcessRequestCycle(MockWebApplication.java:555) at org.apache.wicket.protocol.http.MockWebApplication.processRequestCycle(MockWebApplication.java:507) at org.apache.wicket.util.tester.BaseWicketTester.startPage(BaseWicketTester.java:319)

This is of course correct because our proxy implementation is not MockHttpServletResponse. Is there any workaround this problem?

Thanks for help.

Jan

Reply via email to