[ANNOUNCE] WicketStuff 8.7.0 Released
WicketStuff core 8.7.0 based on Apache Wicket 8.7.0 is released and soon will be available at Maven Central! The changelog is: Andrea Del Bene (1): Response content type set as first step. Christoph Jost (1): fix for list flattening #685 Martin Tzvetanov Grigorov (2): Issue #676 Reduce the amount of logged text during test execution Revert "JamonMonitoredRequestCycleTest fails on Windows in case JVMs are reused. (#679)" Maxim Solodovnik (4): Switching to the next development version Build should be fixed Jackson is updated wicketstuff-core-8.7.0 is released Sven Meier (2): updated readme, added static getter WICKET-6708 use post parameters Thorsten Schöning (2): URL.getFile doesn't decode paths in file-URLs in case spaces are used. (#678) JamonMonitoredRequestCycleTest fails on Windows in case JVMs are reused. (#679) xzr (1): reintroduce dispatchToNonVisibleComponents The WicketStuff team
[ANNOUNCE] WicketStuff 7.16.0 Released
WicketStuff core 7.16.0 based on Apache Wicket 7.16.0 is released and soon will be available at Maven Central! The changelog is: Maxim Solodovnik (4): Switching to the next development version Jamon tests are fixed Some dependencies are updated wicketstuff-core-7.16.0 is released Sven Meier (1): WICKET-6708 use post parameters The WicketStuff team
Re: Test errors after upgrading to Wicket 8.7.0
Worked like a charm, thanks! https://github.com/apache/syncope/commit/f5f0bf05cd88e8d5ab6e682f7e1bb6f3c3249c82#diff-1b179dcf722c88b5094875ab9d08d6e3R65 Regards. On 2020/01/10 13:02:20, Martin Grigorov wrote: > On Fri, Jan 10, 2020 at 2:55 PM Francesco Chicchiriccò > wrote: > > > On 2020/01/10 12:24:49, Martin Grigorov wrote: > > > Hi Francesco, > > > > > > This was a bug in Wicket, a security related one. > > > You will need to fix your code. > > > > > > The change should look something like this: > > > > > > > > > - tester.getRequest().setParameter("select", > > > page.option1.getValue()); > > > - tester.getRequest().setParameter("text", "text is > > required"); > > > - tester.submitForm(page.form); > > > + final FormTester formTester2 = > > tester.newFormTester("form"); > > > + formTester2.setValue("select", "option1"); > > > + formTester2.setValue("text", "text is required"); > > > + formTester2.submit(); > > > > > > from > > > > > https://gitbox.apache.org/repos/asf?p=wicket.git;a=commitdiff;h=0c19cf8;hp=3d8f8b306a92cee71020a633be1d347177d7b7fc > > > > Thanks Martin. > > > > As I can see from above, you have a Form instance, which we don't have in > > [2]. > > > > Moreover, the problem only occurs with MockWebRequest, not with regular > > operations (e.g. HttpServletRequest), hence I'd need to introduce a Form > > only to let tests pass... > > > > Is there any way to let WicketTester use a different implementation then > > MockWebRequest? > > > > This is how we resolve the method: > > + protected List getParameterValues(String inputName) > + { > + String method = Form.METHOD_POST; > + final Form form = findParent(Form.class); > + final Request request = getRequest(); > + if (getRequest().getContainerRequest() instanceof > HttpServletRequest) > + { > + method = ((HttpServletRequest) > getRequest().getContainerRequest()).getMethod(); > + } > + else if (form != null) > + { > + method = form.getMethod(); > + } > > Try with: > tester.getRequest().setMethod("get"); > tester.getRequest().setParameter("select", page.option1.getValue()); > ... > > > > Regards. > > > > > On Fri, Jan 10, 2020 at 9:31 AM Francesco Chicchiriccò < > > ilgro...@apache.org> > > > wrote: > > > > > > > Hi there, > > > > it seems we have some issues with Wicket Tester, after upgrading to > > 8.7.0 > > > > from 8.6.1. > > > > > > > > In particular, due to the change [1] for WICKET-6708, we have found > > that > > > > MockWebRequest is not behaving as expected; no troubles occur instead > > > > during normal operations with HttpServletRequest. > > > > > > > > The test failures occur because MockWebRequest's method is (correctly) > > set > > > > to POST but parameters are submitted with URL, when using > > DropDownChoice > > > > with onChange behavior [2]. > > > > > > > > Of course, such situation was fine with code prior to [1] but not > > working > > > > anymore: I have verified that expected submit parameters are part of > > URL, > > > > hence are available as getQueryParameters() but getPostParameters() is > > > > invoked instead. > > > > > > > > FYI, one of failing test cases in [3]. > > > > > > > > Please let me know if this is a bug with MockWebRequest or whether we > > have > > > > to update our test code, thanks. > > > > > > > > Regards. > > > > > > > > [1] > > https://github.com/apache/wicket/commit/9c3129517a15c37cc90fb27a697868a825940aa0#diff-51cf2faf6078497df77cc6d995dd1b98R763 > > > > [2] > > https://github.com/apache/syncope/blob/2_1_X/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractLogsPanel.java#L71 > > > > [3] > > https://github.com/apache/syncope/blob/2_1_X/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java#L57 > > > > - > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Test errors after upgrading to Wicket 8.7.0
On Fri, Jan 10, 2020 at 2:55 PM Francesco Chicchiriccò wrote: > On 2020/01/10 12:24:49, Martin Grigorov wrote: > > Hi Francesco, > > > > This was a bug in Wicket, a security related one. > > You will need to fix your code. > > > > The change should look something like this: > > > > > > - tester.getRequest().setParameter("select", > > page.option1.getValue()); > > - tester.getRequest().setParameter("text", "text is > required"); > > - tester.submitForm(page.form); > > + final FormTester formTester2 = > tester.newFormTester("form"); > > + formTester2.setValue("select", "option1"); > > + formTester2.setValue("text", "text is required"); > > + formTester2.submit(); > > > > from > > > https://gitbox.apache.org/repos/asf?p=wicket.git;a=commitdiff;h=0c19cf8;hp=3d8f8b306a92cee71020a633be1d347177d7b7fc > > Thanks Martin. > > As I can see from above, you have a Form instance, which we don't have in > [2]. > > Moreover, the problem only occurs with MockWebRequest, not with regular > operations (e.g. HttpServletRequest), hence I'd need to introduce a Form > only to let tests pass... > > Is there any way to let WicketTester use a different implementation then > MockWebRequest? > This is how we resolve the method: + protected List getParameterValues(String inputName) + { + String method = Form.METHOD_POST; + final Form form = findParent(Form.class); + final Request request = getRequest(); + if (getRequest().getContainerRequest() instanceof HttpServletRequest) + { + method = ((HttpServletRequest) getRequest().getContainerRequest()).getMethod(); + } + else if (form != null) + { + method = form.getMethod(); + } Try with: tester.getRequest().setMethod("get"); tester.getRequest().setParameter("select", page.option1.getValue()); ... > Regards. > > > On Fri, Jan 10, 2020 at 9:31 AM Francesco Chicchiriccò < > ilgro...@apache.org> > > wrote: > > > > > Hi there, > > > it seems we have some issues with Wicket Tester, after upgrading to > 8.7.0 > > > from 8.6.1. > > > > > > In particular, due to the change [1] for WICKET-6708, we have found > that > > > MockWebRequest is not behaving as expected; no troubles occur instead > > > during normal operations with HttpServletRequest. > > > > > > The test failures occur because MockWebRequest's method is (correctly) > set > > > to POST but parameters are submitted with URL, when using > DropDownChoice > > > with onChange behavior [2]. > > > > > > Of course, such situation was fine with code prior to [1] but not > working > > > anymore: I have verified that expected submit parameters are part of > URL, > > > hence are available as getQueryParameters() but getPostParameters() is > > > invoked instead. > > > > > > FYI, one of failing test cases in [3]. > > > > > > Please let me know if this is a bug with MockWebRequest or whether we > have > > > to update our test code, thanks. > > > > > > Regards. > > > > > > [1] > https://github.com/apache/wicket/commit/9c3129517a15c37cc90fb27a697868a825940aa0#diff-51cf2faf6078497df77cc6d995dd1b98R763 > > > [2] > https://github.com/apache/syncope/blob/2_1_X/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractLogsPanel.java#L71 > > > [3] > https://github.com/apache/syncope/blob/2_1_X/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java#L57 > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >
Re: Test errors after upgrading to Wicket 8.7.0
On 2020/01/10 12:24:49, Martin Grigorov wrote: > Hi Francesco, > > This was a bug in Wicket, a security related one. > You will need to fix your code. > > The change should look something like this: > > > - tester.getRequest().setParameter("select", > page.option1.getValue()); > - tester.getRequest().setParameter("text", "text is required"); > - tester.submitForm(page.form); > + final FormTester formTester2 = tester.newFormTester("form"); > + formTester2.setValue("select", "option1"); > + formTester2.setValue("text", "text is required"); > + formTester2.submit(); > > from > https://gitbox.apache.org/repos/asf?p=wicket.git;a=commitdiff;h=0c19cf8;hp=3d8f8b306a92cee71020a633be1d347177d7b7fc Thanks Martin. As I can see from above, you have a Form instance, which we don't have in [2]. Moreover, the problem only occurs with MockWebRequest, not with regular operations (e.g. HttpServletRequest), hence I'd need to introduce a Form only to let tests pass... Is there any way to let WicketTester use a different implementation then MockWebRequest? Regards. > On Fri, Jan 10, 2020 at 9:31 AM Francesco Chicchiriccò > wrote: > > > Hi there, > > it seems we have some issues with Wicket Tester, after upgrading to 8.7.0 > > from 8.6.1. > > > > In particular, due to the change [1] for WICKET-6708, we have found that > > MockWebRequest is not behaving as expected; no troubles occur instead > > during normal operations with HttpServletRequest. > > > > The test failures occur because MockWebRequest's method is (correctly) set > > to POST but parameters are submitted with URL, when using DropDownChoice > > with onChange behavior [2]. > > > > Of course, such situation was fine with code prior to [1] but not working > > anymore: I have verified that expected submit parameters are part of URL, > > hence are available as getQueryParameters() but getPostParameters() is > > invoked instead. > > > > FYI, one of failing test cases in [3]. > > > > Please let me know if this is a bug with MockWebRequest or whether we have > > to update our test code, thanks. > > > > Regards. > > > > [1] > > https://github.com/apache/wicket/commit/9c3129517a15c37cc90fb27a697868a825940aa0#diff-51cf2faf6078497df77cc6d995dd1b98R763 > > [2] > > https://github.com/apache/syncope/blob/2_1_X/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractLogsPanel.java#L71 > > [3] > > https://github.com/apache/syncope/blob/2_1_X/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java#L57 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Test errors after upgrading to Wicket 8.7.0
Hi Francesco, This was a bug in Wicket, a security related one. You will need to fix your code. The change should look something like this: - tester.getRequest().setParameter("select", page.option1.getValue()); - tester.getRequest().setParameter("text", "text is required"); - tester.submitForm(page.form); + final FormTester formTester2 = tester.newFormTester("form"); + formTester2.setValue("select", "option1"); + formTester2.setValue("text", "text is required"); + formTester2.submit(); from https://gitbox.apache.org/repos/asf?p=wicket.git;a=commitdiff;h=0c19cf8;hp=3d8f8b306a92cee71020a633be1d347177d7b7fc On Fri, Jan 10, 2020 at 9:31 AM Francesco Chicchiriccò wrote: > Hi there, > it seems we have some issues with Wicket Tester, after upgrading to 8.7.0 > from 8.6.1. > > In particular, due to the change [1] for WICKET-6708, we have found that > MockWebRequest is not behaving as expected; no troubles occur instead > during normal operations with HttpServletRequest. > > The test failures occur because MockWebRequest's method is (correctly) set > to POST but parameters are submitted with URL, when using DropDownChoice > with onChange behavior [2]. > > Of course, such situation was fine with code prior to [1] but not working > anymore: I have verified that expected submit parameters are part of URL, > hence are available as getQueryParameters() but getPostParameters() is > invoked instead. > > FYI, one of failing test cases in [3]. > > Please let me know if this is a bug with MockWebRequest or whether we have > to update our test code, thanks. > > Regards. > > [1] > https://github.com/apache/wicket/commit/9c3129517a15c37cc90fb27a697868a825940aa0#diff-51cf2faf6078497df77cc6d995dd1b98R763 > [2] > https://github.com/apache/syncope/blob/2_1_X/client/console/src/main/java/org/apache/syncope/client/console/panels/AbstractLogsPanel.java#L71 > [3] > https://github.com/apache/syncope/blob/2_1_X/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java#L57 > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >