You could try: throw new RestartResponseException(LoginPage.class, new
PageParameters(...));

For login redirects, it's common to
use RestartResponseAtInterceptPageException,
then Component#continueToOriginalDestination() once they've been
authentication.

On Fri, Sep 9, 2011 at 12:26 PM, Alexander Gubin <[email protected]>wrote:

> Hi all,
>
> I have a panel that redirects to another page if the user isn't logged in,
> e.g
>
> public MyPanel(String id) {
>   super(id);
>
>   Integer accountId = sessionBean.getAccountId();
>   if (accountId == null) { // not logged in, redirect to login
>       getRequestCycle().setRedirect(**true);
>       setResponsePage(LoginPage.**class, new PageParameters("siteId=" +
> sessionBean.getSiteId()));
>       return;
>   }
>
>   ... do normal panel display
>
> }
>
> I naively setup my test like this:
>
>
>        tester.startPanel(new ITestPanelSource() {
>
>            @Override
>            public Panel getTestPanel(String panelId) {
>                return new MyPanel(panelId);
>            }
>        });
>
>        tester.assertRenderedPage(**LoginPage.class);
>
> but I get:
> - Redirecting to /BaseTestCase$1/BaseTestCase$**1/?wicket:interface=:1::::
>
> - Unable to find component with id 'welcome' in [MarkupContainer [Component
> id = panel]]. This means that you declared wicket:id=welcome in your markup,
> but that you either did not add the component to your page at all, or that
> the hierarchy does not match.
> [markup = file:/home/Developer/build/**component/page/account/**
> MyPanel.html
>
> I see that redirect is logged by Wicket, but
> WicketTester still tries to render MyPanel, when it shouldn't...
>
> is there a way to work around this issue?
>
> Sincerely,
>
> Alexander
>
> P.S. testing with enclosing page, e.g. tester.startPage(new MyPage(new
> PageParameters())); produces the same error
>
>
>
>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: 
> users-unsubscribe@wicket.**apache.org<[email protected]>
> For additional commands, e-mail: [email protected]
>
>

Reply via email to