Search in sources :

Example 1 with IUnauthorizedComponentInstantiationListener

use of org.apache.wicket.authorization.IUnauthorizedComponentInstantiationListener in project wicket by apache.

the class AnnotationsRoleTest method testNotAuthorized.

/**
 * @throws Exception
 */
@Test
public void testNotAuthorized() throws Exception {
    WicketTester tester = new WicketTester();
    tester.getApplication().getSecuritySettings().setAuthorizationStrategy(new RoleAuthorizationStrategy(new UserRolesAuthorizer("USER")));
    final class Listener implements IUnauthorizedComponentInstantiationListener {

        private boolean eventReceived = false;

        @Override
        public void onUnauthorizedInstantiation(Component component) {
            eventReceived = true;
        }
    }
    Listener listener = new Listener();
    tester.getApplication().getSecuritySettings().setUnauthorizedComponentInstantiationListener(listener);
    try {
        tester.startPage(AdminPage.class);
        assertTrue("an authorization exception event should have been received", listener.eventReceived);
    } catch (Exception e) {
        if (!(e.getCause() instanceof InvocationTargetException && ((InvocationTargetException) e.getCause()).getTargetException() instanceof UnauthorizedInstantiationException)) {
            throw e;
        }
    }
}
Also used : IUnauthorizedComponentInstantiationListener(org.apache.wicket.authorization.IUnauthorizedComponentInstantiationListener) RoleAuthorizationStrategy(org.apache.wicket.authroles.authorization.strategies.role.RoleAuthorizationStrategy) WicketTester(org.apache.wicket.util.tester.WicketTester) IUnauthorizedComponentInstantiationListener(org.apache.wicket.authorization.IUnauthorizedComponentInstantiationListener) Component(org.apache.wicket.Component) UnauthorizedInstantiationException(org.apache.wicket.authorization.UnauthorizedInstantiationException) InvocationTargetException(java.lang.reflect.InvocationTargetException) UnauthorizedInstantiationException(org.apache.wicket.authorization.UnauthorizedInstantiationException) InvocationTargetException(java.lang.reflect.InvocationTargetException) Test(org.junit.Test)

Aggregations

InvocationTargetException (java.lang.reflect.InvocationTargetException)1 Component (org.apache.wicket.Component)1 IUnauthorizedComponentInstantiationListener (org.apache.wicket.authorization.IUnauthorizedComponentInstantiationListener)1 UnauthorizedInstantiationException (org.apache.wicket.authorization.UnauthorizedInstantiationException)1 RoleAuthorizationStrategy (org.apache.wicket.authroles.authorization.strategies.role.RoleAuthorizationStrategy)1 WicketTester (org.apache.wicket.util.tester.WicketTester)1 Test (org.junit.Test)1