@Test
    public void testGuestMultiplePermissionAssertion() {
        PermissionAnnotationHandler handler = new PermissionAnnotationHandler();

        Annotation requiresPermissionAnnotation = new RequiresPermissions() {
            @Override
            public String[] value() {
                return new String[] {"test:test", "test2:test2"};
            }

            @Override
            public Class<? extends Annotation> annotationType() {
                return RequiresPermissions.class;
            }

            @Override
            public Logical logical() {
                return Logical.AND;
            }
        };

        runWithSubject(subject -> {
            assertThrows(UnauthenticatedException.class, () -> handler.assertAuthorized(requiresPermissionAnnotation));
        });
    }
Test cases for the {@link PermissionAnnotationHandler} class.
core/src/test/java/org/apache/shiro/authz/aop/PermissionAnnotationHandlerTest.java