Example usage for org.apache.shiro.subject ExecutionException ExecutionException

List of usage examples for org.apache.shiro.subject ExecutionException ExecutionException

Introduction

In this page you can find the example usage for org.apache.shiro.subject ExecutionException ExecutionException.

Prototype

public ExecutionException(Throwable cause) 

Source Link

Usage

From source file:org.codice.alliance.nsili.endpoint.TestNsiliCommon.java

License:Open Source License

protected void setupCommonMocks() throws SecurityServiceException {
    mockSubject = new Subject() {
        @Override/*from  w  w w  . j a  v  a2s.  co  m*/
        public boolean isGuest() {
            return true;
        }

        @Override
        public Object getPrincipal() {
            return null;
        }

        @Override
        public PrincipalCollection getPrincipals() {
            return null;
        }

        @Override
        public boolean isPermitted(String s) {
            return false;
        }

        @Override
        public boolean isPermitted(Permission permission) {
            return false;
        }

        @Override
        public boolean[] isPermitted(String... strings) {
            return new boolean[0];
        }

        @Override
        public boolean[] isPermitted(List<Permission> list) {
            return new boolean[0];
        }

        @Override
        public boolean isPermittedAll(String... strings) {
            return false;
        }

        @Override
        public boolean isPermittedAll(Collection<Permission> collection) {
            return false;
        }

        @Override
        public void checkPermission(String s) throws AuthorizationException {

        }

        @Override
        public void checkPermission(Permission permission) throws AuthorizationException {

        }

        @Override
        public void checkPermissions(String... strings) throws AuthorizationException {

        }

        @Override
        public void checkPermissions(Collection<Permission> collection) throws AuthorizationException {

        }

        @Override
        public boolean hasRole(String s) {
            return false;
        }

        @Override
        public boolean[] hasRoles(List<String> list) {
            return new boolean[0];
        }

        @Override
        public boolean hasAllRoles(Collection<String> collection) {
            return false;
        }

        @Override
        public void checkRole(String s) throws AuthorizationException {

        }

        @Override
        public void checkRoles(Collection<String> collection) throws AuthorizationException {

        }

        @Override
        public void checkRoles(String... strings) throws AuthorizationException {

        }

        @Override
        public void login(AuthenticationToken authenticationToken) throws AuthenticationException {

        }

        @Override
        public boolean isAuthenticated() {
            return false;
        }

        @Override
        public boolean isRemembered() {
            return false;
        }

        @Override
        public Session getSession() {
            return null;
        }

        @Override
        public Session getSession(boolean b) {
            return null;
        }

        @Override
        public void logout() {

        }

        @Override
        public <V> V execute(Callable<V> callable) throws ExecutionException {
            try {
                return callable.call();
            } catch (Exception e) {
                throw new ExecutionException(e);
            }
        }

        @Override
        public void execute(Runnable runnable) {
            runnable.run();
        }

        @Override
        public <V> Callable<V> associateWith(Callable<V> callable) {
            return null;
        }

        @Override
        public Runnable associateWith(Runnable runnable) {
            return null;
        }

        @Override
        public void runAs(PrincipalCollection principalCollection)
                throws NullPointerException, IllegalStateException {

        }

        @Override
        public boolean isRunAs() {
            return false;
        }

        @Override
        public PrincipalCollection getPreviousPrincipals() {
            return null;
        }

        @Override
        public PrincipalCollection releaseRunAs() {
            return null;
        }
    };

    when(securityManager.getSubject(any(Object.class))).thenReturn(mockSubject);
}

From source file:org.codice.alliance.video.stream.mpegts.SimpleSubject.java

License:Open Source License

@Override
public <V> V execute(Callable<V> callable) throws ExecutionException {
    try {//from ww  w.  j a v  a  2  s.c o m
        return callable.call();
    } catch (Exception e) {
        throw new ExecutionException(e);
    }
}

From source file:org.codice.ddf.catalog.ui.query.monitor.impl.TestWorkspaceQueryService.java

License:Open Source License

@SuppressWarnings("unchecked")
@Test/*ww w.j ava  2 s .  c  o  m*/
public void testRun()
        throws SchedulerException, UnsupportedQueryException, SourceUnavailableException, FederationException {

    String workspaceId = "3";

    QueryUpdateSubscriber queryUpdateSubscriber = mock(QueryUpdateSubscriber.class);
    WorkspaceService workspaceService = mock(WorkspaceService.class);
    CatalogFramework catalogFramework = mock(CatalogFramework.class);
    FilterBuilder filterBuilder = mock(FilterBuilder.class);
    Scheduler scheduler = mock(Scheduler.class);
    when(scheduler.getContext()).thenReturn(mock(SchedulerContext.class));
    Supplier<Optional<Scheduler>> schedulerSupplier = () -> Optional.of(scheduler);
    SecurityService securityService = new SecurityService() {
        @Override
        public Subject getSystemSubject() {
            return mock(Subject.class);
        }

        @Override
        public Map<String, Serializable> addSystemSubject(Map<String, Serializable> properties) {
            return properties;
        }
    };
    FilterService filterService = mock(FilterService.class);
    when(filterService.getModifiedDateFilter(any())).thenReturn(mock(Filter.class));

    when(filterBuilder.anyOf(Mockito.any(Filter.class))).thenReturn(mock(Or.class));
    when(filterBuilder.allOf(Mockito.<Filter>anyVararg())).thenReturn(mock(And.class));

    WorkspaceQueryServiceImpl workspaceQueryServiceImpl = new WorkspaceQueryServiceImpl(queryUpdateSubscriber,
            workspaceService, catalogFramework, filterBuilder, schedulerSupplier, securityService,
            filterService);

    workspaceQueryServiceImpl.setQueryTimeInterval(60);
    String ecql = "area( Polygon((10 10, 20 10, 20 20, 10 10)) ) BETWEEN 10000 AND 30000";

    WorkspaceMetacardImpl workspaceMetacard = mock(WorkspaceMetacardImpl.class);
    when(workspaceMetacard.getId()).thenReturn(workspaceId);

    QueryMetacardImpl queryMetacardWithSource = mock(QueryMetacardImpl.class);
    when(queryMetacardWithSource.getSources()).thenReturn(Collections.singletonList("SomeSource"));
    when(queryMetacardWithSource.getCql()).thenReturn(ecql);

    Attribute id1 = mock(Attribute.class);
    when(id1.getValue()).thenReturn("1");
    when(queryMetacardWithSource.getAttribute(Metacard.ID)).thenReturn(id1);

    QueryMetacardImpl queryMetacardWithoutSource = mock(QueryMetacardImpl.class);
    when(queryMetacardWithoutSource.getSources()).thenReturn(Collections.emptyList());
    when(queryMetacardWithoutSource.getCql()).thenReturn(ecql);

    Attribute id2 = mock(Attribute.class);
    when(id2.getValue()).thenReturn("2");
    when(queryMetacardWithoutSource.getAttribute(Metacard.ID)).thenReturn(id2);

    Map<String, Pair<WorkspaceMetacardImpl, List<QueryMetacardImpl>>> queryMetacards = Collections
            .singletonMap(id2.getValue().toString(), new ImmutablePair<>(workspaceMetacard,
                    Arrays.asList(queryMetacardWithSource, queryMetacardWithoutSource)));

    when(workspaceService.getQueryMetacards()).thenReturn(queryMetacards);

    long hitCount1 = 10;
    long hitCount2 = 20;

    QueryResponse queryResponse = mock(QueryResponse.class);
    when(queryResponse.getHits()).thenReturn(hitCount1).thenReturn(hitCount2);

    when(catalogFramework.query(any())).thenReturn(queryResponse);

    workspaceQueryServiceImpl.setSubject(new Subject() {
        @Override
        public boolean isGuest() {
            return false;
        }

        @Override
        public Object getPrincipal() {
            return null;
        }

        @Override
        public PrincipalCollection getPrincipals() {
            return null;
        }

        @Override
        public boolean isPermitted(String s) {
            return false;
        }

        @Override
        public boolean isPermitted(Permission permission) {
            return false;
        }

        @Override
        public boolean[] isPermitted(String... strings) {
            return new boolean[0];
        }

        @Override
        public boolean[] isPermitted(List<Permission> list) {
            return new boolean[0];
        }

        @Override
        public boolean isPermittedAll(String... strings) {
            return false;
        }

        @Override
        public boolean isPermittedAll(Collection<Permission> collection) {
            return false;
        }

        @Override
        public void checkPermission(String s) throws AuthorizationException {

        }

        @Override
        public void checkPermission(Permission permission) throws AuthorizationException {

        }

        @Override
        public void checkPermissions(String... strings) throws AuthorizationException {

        }

        @Override
        public void checkPermissions(Collection<Permission> collection) throws AuthorizationException {

        }

        @Override
        public boolean hasRole(String s) {
            return false;
        }

        @Override
        public boolean[] hasRoles(List<String> list) {
            return new boolean[0];
        }

        @Override
        public boolean hasAllRoles(Collection<String> collection) {
            return false;
        }

        @Override
        public void checkRole(String s) throws AuthorizationException {

        }

        @Override
        public void checkRoles(Collection<String> collection) throws AuthorizationException {

        }

        @Override
        public void checkRoles(String... strings) throws AuthorizationException {

        }

        @Override
        public void login(AuthenticationToken authenticationToken) throws AuthenticationException {

        }

        @Override
        public boolean isAuthenticated() {
            return false;
        }

        @Override
        public boolean isRemembered() {
            return false;
        }

        @Override
        public Session getSession() {
            return null;
        }

        @Override
        public Session getSession(boolean b) {
            return null;
        }

        @Override
        public void logout() {

        }

        @Override
        public <V> V execute(Callable<V> callable) throws ExecutionException {
            try {
                return callable.call();
            } catch (Exception e) {
                throw new ExecutionException(e);
            }
        }

        @Override
        public void execute(Runnable runnable) {

        }

        @Override
        public <V> Callable<V> associateWith(Callable<V> callable) {
            return null;
        }

        @Override
        public Runnable associateWith(Runnable runnable) {
            return null;
        }

        @Override
        public void runAs(PrincipalCollection principalCollection)
                throws NullPointerException, IllegalStateException {

        }

        @Override
        public boolean isRunAs() {
            return false;
        }

        @Override
        public PrincipalCollection getPreviousPrincipals() {
            return null;
        }

        @Override
        public PrincipalCollection releaseRunAs() {
            return null;
        }
    });

    workspaceQueryServiceImpl.setCronString("0 0 0 * * ?");
    workspaceQueryServiceImpl.setQueryTimeoutMinutes(5L);
    workspaceQueryServiceImpl.run();

    ArgumentCaptor<Map> argumentCaptor = ArgumentCaptor.forClass(Map.class);
    verify(queryUpdateSubscriber).notify(argumentCaptor.capture());

    Map queryUpdateSubscriberArgumentRaw = argumentCaptor.getValue();

    Map<String, Pair<WorkspaceMetacardImpl, Long>> queryUpdateSubscriberArgument = (Map<String, Pair<WorkspaceMetacardImpl, Long>>) queryUpdateSubscriberArgumentRaw;

    assertThat(queryUpdateSubscriberArgument.get(workspaceId).getRight(), is(hitCount1 + hitCount2));
}

From source file:org.codice.ddf.catalog.ui.query.monitor.impl.WorkspaceQueryServiceTest.java

License:Open Source License

@SuppressWarnings("unchecked")
@Test//w  ww .  j  a  v a  2 s . c  o  m
public void testRun()
        throws SchedulerException, UnsupportedQueryException, SourceUnavailableException, FederationException {

    String workspaceId = "3";

    QueryUpdateSubscriber queryUpdateSubscriber = mock(QueryUpdateSubscriber.class);
    WorkspaceService workspaceService = mock(WorkspaceService.class);
    CatalogFramework catalogFramework = mock(CatalogFramework.class);
    FilterBuilder filterBuilder = mock(FilterBuilder.class);
    Scheduler scheduler = mock(Scheduler.class);
    when(scheduler.getContext()).thenReturn(mock(SchedulerContext.class));
    Supplier<Optional<Scheduler>> schedulerSupplier = () -> Optional.of(scheduler);
    SecurityService securityService = new SecurityService() {
        @Override
        public Subject getSystemSubject() {
            return mock(Subject.class);
        }

        @Override
        public Map<String, Serializable> addSystemSubject(Map<String, Serializable> properties) {
            return properties;
        }
    };
    FilterService filterService = mock(FilterService.class);
    when(filterService.getModifiedDateFilter(any())).thenReturn(mock(Filter.class));

    when(filterBuilder.anyOf(Mockito.any(Filter.class))).thenReturn(mock(Or.class));
    when(filterBuilder.allOf(Mockito.<Filter>anyVararg())).thenReturn(mock(And.class));

    WorkspaceQueryServiceImpl workspaceQueryServiceImpl = new WorkspaceQueryServiceImpl(queryUpdateSubscriber,
            workspaceService, catalogFramework, filterBuilder, schedulerSupplier, securityService,
            filterService);

    workspaceQueryServiceImpl.setQueryTimeInterval(60);
    String ecql = "area( Polygon((10 10, 20 10, 20 20, 10 10)) ) BETWEEN 10000 AND 30000";

    WorkspaceMetacardImpl workspaceMetacard = mock(WorkspaceMetacardImpl.class);
    when(workspaceMetacard.getId()).thenReturn(workspaceId);

    QueryMetacardImpl queryMetacardWithSource = mock(QueryMetacardImpl.class);
    when(queryMetacardWithSource.getSources()).thenReturn(Collections.singletonList("SomeSource"));
    when(queryMetacardWithSource.getCql()).thenReturn(ecql);

    Attribute id1 = mock(Attribute.class);
    when(id1.getValue()).thenReturn("1");
    when(queryMetacardWithSource.getAttribute(Metacard.ID)).thenReturn(id1);

    QueryMetacardImpl queryMetacardWithoutSource = mock(QueryMetacardImpl.class);
    when(queryMetacardWithoutSource.getSources()).thenReturn(Collections.emptyList());
    when(queryMetacardWithoutSource.getCql()).thenReturn(ecql);

    Attribute id2 = mock(Attribute.class);
    when(id2.getValue()).thenReturn("2");
    when(queryMetacardWithoutSource.getAttribute(Metacard.ID)).thenReturn(id2);

    Map<String, Pair<WorkspaceMetacardImpl, List<QueryMetacardImpl>>> queryMetacards = Collections
            .singletonMap(id2.getValue().toString(), new ImmutablePair<>(workspaceMetacard,
                    Arrays.asList(queryMetacardWithSource, queryMetacardWithoutSource)));

    when(workspaceService.getQueryMetacards()).thenReturn(queryMetacards);

    long hitCount1 = 10;
    long hitCount2 = 20;

    QueryResponse queryResponse = mock(QueryResponse.class);
    when(queryResponse.getHits()).thenReturn(hitCount1).thenReturn(hitCount2);

    when(catalogFramework.query(any())).thenReturn(queryResponse);

    workspaceQueryServiceImpl.setSubject(new Subject() {
        @Override
        public String getName() {
            return "";
        }

        @Override
        public boolean isGuest() {
            return false;
        }

        @Override
        public Object getPrincipal() {
            return null;
        }

        @Override
        public PrincipalCollection getPrincipals() {
            return null;
        }

        @Override
        public boolean isPermitted(String s) {
            return false;
        }

        @Override
        public boolean isPermitted(Permission permission) {
            return false;
        }

        @Override
        public boolean[] isPermitted(String... strings) {
            return new boolean[0];
        }

        @Override
        public boolean[] isPermitted(List<Permission> list) {
            return new boolean[0];
        }

        @Override
        public boolean isPermittedAll(String... strings) {
            return false;
        }

        @Override
        public boolean isPermittedAll(Collection<Permission> collection) {
            return false;
        }

        @Override
        public void checkPermission(String s) throws AuthorizationException {
        }

        @Override
        public void checkPermission(Permission permission) throws AuthorizationException {
        }

        @Override
        public void checkPermissions(String... strings) throws AuthorizationException {
        }

        @Override
        public void checkPermissions(Collection<Permission> collection) throws AuthorizationException {
        }

        @Override
        public boolean hasRole(String s) {
            return false;
        }

        @Override
        public boolean[] hasRoles(List<String> list) {
            return new boolean[0];
        }

        @Override
        public boolean hasAllRoles(Collection<String> collection) {
            return false;
        }

        @Override
        public void checkRole(String s) throws AuthorizationException {
        }

        @Override
        public void checkRoles(Collection<String> collection) throws AuthorizationException {
        }

        @Override
        public void checkRoles(String... strings) throws AuthorizationException {
        }

        @Override
        public void login(AuthenticationToken authenticationToken) throws AuthenticationException {
        }

        @Override
        public boolean isAuthenticated() {
            return false;
        }

        @Override
        public boolean isRemembered() {
            return false;
        }

        @Override
        public Session getSession() {
            return null;
        }

        @Override
        public Session getSession(boolean b) {
            return null;
        }

        @Override
        public void logout() {
        }

        @Override
        public <V> V execute(Callable<V> callable) throws ExecutionException {
            try {
                return callable.call();
            } catch (Exception e) {
                throw new ExecutionException(e);
            }
        }

        @Override
        public void execute(Runnable runnable) {
        }

        @Override
        public <V> Callable<V> associateWith(Callable<V> callable) {
            return null;
        }

        @Override
        public Runnable associateWith(Runnable runnable) {
            return null;
        }

        @Override
        public void runAs(PrincipalCollection principalCollection)
                throws NullPointerException, IllegalStateException {
        }

        @Override
        public boolean isRunAs() {
            return false;
        }

        @Override
        public PrincipalCollection getPreviousPrincipals() {
            return null;
        }

        @Override
        public PrincipalCollection releaseRunAs() {
            return null;
        }
    });

    workspaceQueryServiceImpl.setCronString("0 0 0 * * ?");
    workspaceQueryServiceImpl.setQueryTimeoutMinutes(5L);
    workspaceQueryServiceImpl.run();

    ArgumentCaptor<Map> argumentCaptor = ArgumentCaptor.forClass(Map.class);
    verify(queryUpdateSubscriber).notify(argumentCaptor.capture());

    Map queryUpdateSubscriberArgumentRaw = argumentCaptor.getValue();

    Map<String, Pair<WorkspaceMetacardImpl, Long>> queryUpdateSubscriberArgument = (Map<String, Pair<WorkspaceMetacardImpl, Long>>) queryUpdateSubscriberArgumentRaw;

    assertThat(queryUpdateSubscriberArgument.get(workspaceId).getRight(), is(hitCount1 + hitCount2));
}

From source file:org.codice.ddf.commands.catalog.SubjectCommandsTest.java

License:Open Source License

@Test
public void doExecuteWhenSubjectExecuteThrowsExecutionException() throws Exception {
    subjectCommands.user = USERNAME;//from  w  w w .  j  a v a2  s  .c  o m

    when(session.readLine(anyString(), eq('*'))).thenReturn(PASSWORD);
    when(security.getSubject(USERNAME, PASSWORD, "127.0.0.1")).thenReturn(subject);
    when(subject.execute(any(Callable.class)))
            .thenThrow(new ExecutionException(new IllegalStateException(ERROR)));

    subjectCommands.execute();

    verify(security).getSubject(USERNAME, PASSWORD, "127.0.0.1");
    assertThat(consoleOutput.getOutput(), containsString(ERROR));
}

From source file:org.codice.ddf.commands.catalog.TestSubjectCommands.java

License:Open Source License

@Test
public void doExecuteWhenSubjectExecuteThrowsExecutionException() throws Exception {
    subjectCommands.user = USERNAME;//  www  . java2s  . c om

    when(session.getKeyboard()).thenReturn(new ByteArrayInputStream(PASSWORD.getBytes()));
    when(security.getSubject(USERNAME, PASSWORD)).thenReturn(subject);
    when(subject.execute(any(Callable.class)))
            .thenThrow(new ExecutionException(new IllegalStateException(ERROR)));

    subjectCommands.doExecute();

    verify(security).getSubject(USERNAME, PASSWORD);
    assertThat(console.toString(), containsString(ERROR));
}

From source file:org.codice.ddf.migration.commands.MigrationCommandTest.java

License:Open Source License

@Test
public void testExecuteWithUserWhenSubClassThrowsException() throws Exception {
    final String msg = "Some error";
    final Exception exception = new Exception(msg);

    command.user = SUBJECT_NAME;/*from  w w  w  . j  a v  a 2 s  . com*/

    Mockito.when(subject.execute(Mockito.<Callable<Object>>notNull()))
            .thenThrow(new ExecutionException(exception));

    command.execute();

    Mockito.verify(session).readLine(Mockito.anyString(), Mockito.anyChar());
    Mockito.verify(security).getSubject(SUBJECT_NAME, PASSWORD, "127.0.0.1");
    Mockito.verify(subject).execute(Mockito.<Callable<Object>>notNull());
    verifyConsoleOutput(Matchers.equalTo("An error was encountered while executing this command; " + msg + "."),
            Ansi.Color.RED);
}

From source file:org.codice.ddf.security.common.SecurityTest.java

License:Open Source License

@Test
public void testRunWithSubjectOrElevateWhenUserSubjectExistsAndCallableThrowsException() throws Exception {
    doReturn(shiroSubject).when(security).getShiroSubject();
    when(shiroSubject.execute(callable)).thenThrow(new ExecutionException(new UnsupportedOperationException()));

    try {/*from w  ww .  jav a 2s  .c  o  m*/
        security.runWithSubjectOrElevate(callable);
        fail("InvocationTargetException expected");
    } catch (SecurityServiceException e) {
        throw e;
    } catch (InvocationTargetException e) {
        assertThat(e.getCause(), is(instanceOf(UnsupportedOperationException.class)));
    }

    verify(security).auditFailedCodeExecutionForSystemSubject(any(ExecutionException.class));
}

From source file:org.codice.ddf.security.common.SecurityTest.java

License:Open Source License

@Test
public void testRunWithSubjectOrElevateWhenSystemSubjectIsUsedAndCallableThrowsException() throws Exception {
    doReturn(null).when(security).getShiroSubject();
    when(systemSubject.execute(callable))
            .thenThrow(new ExecutionException(new UnsupportedOperationException()));
    configureMocksForBundleContext("server");

    Exception exception = security.runAsAdmin(() -> {
        try {//  w ww  . j  a  v a  2 s .  co  m
            security.runWithSubjectOrElevate(callable);
            fail("InvocationTargetException expected");
            return null;
        } catch (Exception e) {
            return e;
        }
    });

    assertThat(exception, is(instanceOf(InvocationTargetException.class)));
    assertThat(exception.getCause(), is(instanceOf(UnsupportedOperationException.class)));
}

From source file:org.codice.ddf.security.SecurityTest.java

License:Open Source License

@Test
public void testRunWithSubjectOrElevateWhenUserSubjectExistsAndCallableThrowsException() throws Exception {
    when(SecurityUtils.getSubject()).thenReturn(shiroSubject);
    when(shiroSubject.execute(callable)).thenThrow(new ExecutionException(new UnsupportedOperationException()));

    try {// www.ja  v a2s.  c  o m
        security.runWithSubjectOrElevate(callable);
        fail("InvocationTargetException expected");
    } catch (SecurityServiceException e) {
        throw e;
    } catch (InvocationTargetException e) {
        assertThat(e.getCause(), is(instanceOf(UnsupportedOperationException.class)));
    }
}