[
https://issues.apache.org/jira/browse/WICKET-702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12540065
]
mrmean edited comment on WICKET-702 at 11/4/07 5:56 AM:
-----------------------------------------------------------------
Thanks Johan....
I now have 22 failing junit tests.
caused by a nullpointer on line 534 of MockHttpServletRequest:
RequestCycle.get() returns null, because it is already detached.
The difference in my junit test and the intercept tests seems to lie in the
fact that somehow i get a BufferedWebResponse where the wicket junit test gets
a regular WebResponse.
The BWR does not call HttpServletResponse.sendRedirect(url) where the regular
WR does. this causes this call to be executed later after the RC detach.
Maurice
was (Author: mrmean):
En bedankt Johan......
22 failing junit tests
vanwege een nullpointer op regel 534 in MockHttpServletRequest:
RequestCycle.get() leverd null op, want die is al gedetached.
Ik ben nog aan het uitzoeken hoe ik dit kan omzeilen in mn junit tests.
Maurice
> MockWebApplication doesn't redirect properly to mounted pages under
> RestartResponseAtInterceptPageException
> ------------------------------------------------------------------------------------------------------------
>
> Key: WICKET-702
> URL: https://issues.apache.org/jira/browse/WICKET-702
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.3.0-beta1
> Reporter: Mark Sandori
> Fix For: 1.3.0-rc1
>
> Attachments: 20070703-WICKET-702.txt, LoginPage.html, LoginPage.java,
> ProtectedPage.html, ProtectedPage.java, RestartWithMountedPageTest.java
>
>
> The MockWebApplication doesn't decode the redirect request properly when
> redirecting to a mounted page due to a
> RestartResponseAtInterceptPageException.
> This is the test:
> @Test
> public void testPageRender()
> {
> WicketTest tester = new WicketTester(new MyApplication());
> //must be logged in to get to the Profile page
> tester.startPage(Profile.class);
> //should redirect to the Login page
> tester.assertRenderedPage(Login.class);
> }
> The application mounts pages via:
> mount("/main", PackageName.forPackage(Profile.class.getPackage()));
> Running the test results in this exception:
> org.apache.wicket.WicketRuntimeException: Already redirecting to
> 'main/Login'. Cannot redirect more than once
> at
> org.apache.wicket.protocol.http.BufferedWebResponse.redirect(BufferedWebResponse.java:100)
> at
> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:219)
> at
> org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:103)
> at
> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:981)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1048)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1127)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:489)
> at
> org.apache.wicket.protocol.http.MockWebApplication.postProcessRequestCycle(MockWebApplication.java:426)
> at
> org.apache.wicket.protocol.http.MockWebApplication.processRequestCycle(MockWebApplication.java:372)
> at
> org.apache.wicket.util.tester.BaseWicketTester.startPage(BaseWicketTester.java:237)
> What is happening is that the redirect URL "main/Login" is not getting
> resolved to a bookmarkable page and the RequestParameters is therefore not
> setup correctly. Then in WebRequestCycleProcessor.resolve(final RequestCycle
> requestCycle, final RequestParameters requestParameters) the
> bookmarkablePageClass of the requestParameters is null and the method
> resolves to the Home page instead of the page that is intended to redirect
> to. This causes an attempt to redirect again thereby causing the exception.
> If the mount() is removed then the unit test passes.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.