[ https://issues.apache.org/jira/browse/WICKET-4045?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Campbell updated WICKET-4045: ---------------------------------- Attachment: myproject.zip Attached is a sample project that will cause project tests FAIL. to switch it back and forth from Wicket 1.4.18 and Wicket 1.5.0, simply comment/uncomment the dependency section of the pom.xml file (below the WICKET DEPENDENCIES section) Switching the dependency to 1.4.18 will cause the project tests to SUCCEED > Calling wicketTester.clickLink(...) on a StatelessLink causes > "PageExpiredException" with Wicket 1.5.0 > ------------------------------------------------------------------------------------------------------ > > Key: WICKET-4045 > URL: https://issues.apache.org/jira/browse/WICKET-4045 > Project: Wicket > Issue Type: Bug > Components: wicket > Affects Versions: 1.5.0 > Environment: Ubuntu Linux 11.04 > Java 1.7 > Reporter: Jeff Campbell > Priority: Blocker > Attachments: myproject.zip > > > When running a JUnit test and I call wicketTester.clickLink(...) on a > StatlessLink in a 1.5.0 project, will cause a PageExpiredException, if I > change the code back to Wicket 1.4.18 the code does NOT throw any exception > and the test works as expected. This is marked BLOCKER because this bug > causes all of our unit tests to fail when we migrate over to Wicket 1.5.0 > Reproduce > 1. I created a new Maven archetype project: > mvn archetype:generate -DarchetypeGroupId=org.apache.wicket > -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.5.0 > -DgroupId=com.mycompany -DartifactId=myproject > -DarchetypeRepository=https://repository.apache.org/ -DinteractiveMode=false > 2. Add a link to HomePage.html > <a wicket:id="clickMeLink" href="#">Click Me</a> > 3. Add a StatelessLink to HomePage.java > add(new StatelessLink("clickMeLink") { > @Override > public void onClick() { > System.out.println("Clicked!!"); > setResponsePage(OtherPage.class); > } > }); > 4. Add a blank OtherPage.java and OtherPage.html > 5. Add a JUnit test: > @Test > public void homepageRendersSuccessfully() { > //start and render the test page > tester.startPage(HomePage.class); > //assert rendered page class > tester.assertRenderedPage(HomePage.class); > tester.clickLink("clickMeLink"); // !!!!! > "PageExpiredException" with Wicket 1.5.0 > tester.assertRenderedPage(OtherPage.class); > } > 6. Run "mvn install" > Results > An Test failure occurs with: > org.apache.wicket.protocol.http.PageExpiredException: Page expired. > at > org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:171) > at > org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.getPage(ListenerInterfaceRequestHandler.java:89) > at > org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:149) > at > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:719) > at > org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63) > at > org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210) > at > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:253) > at > org.apache.wicket.util.tester.BaseWicketTester.processRequest(BaseWicketTester.java:596) > at > org.apache.wicket.util.tester.BaseWicketTester.processRequest(BaseWicketTester.java:516) > at > org.apache.wicket.util.tester.BaseWicketTester.executeListener(BaseWicketTester.java:988) > at > org.apache.wicket.util.tester.BaseWicketTester.clickLink(BaseWicketTester.java:1795) > at > org.apache.wicket.util.tester.BaseWicketTester.clickLink(BaseWicketTester.java:1677) > at > com.mycompany.TestHomePage.homepageRendersSuccessfully(TestHomePage.java:29) > Expected Results > No Test failures > Other Notes: > If I change the link from "StatelessLink" to "Link" then the Test will > succeed (although this is NOT what we want to do... we want our pages to be > Stateless) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira