Основной вопрос о Java SecurityManager - PullRequest
0 голосов
/ 03 мая 2019

Больше на Пользовательский Java SecurityManager в тестах JUnit не работает , Рэндгальт спрашивает об этом коде в своих юнитах, что делает его тесты неудачными:

    Policy.setPolicy(new Policy() {
        @Override
        public PermissionCollection getPermissions(CodeSource cs) {
            Permissions mainPermissions = new Permissions();
            mainPermissions.add(new AllPermission());
            return mainPermissions;
        }
    });
    // set a security manager so permissions get applied,
    System.setSecurityManager(new SecurityManager());

Он, видимо, решил свою проблему, но я бью то же самое. У меня есть код выше в методе @BeforeClass, и когда я запускаю тест, который пытается прочитать файл ресурса из classpath:

   InputStream is = TestUtils.class.getResourceAsStream(name);

Я получаю ошибку проверки разрешения для

   ("java.io.FilePermission" "<path>/resource.xml" "read")

Это заставляет входной поток возвращаться как ноль, и тест не проходит. Менеджер безопасности, кажется, дает все разрешения на все, поэтому я не совсем понимаю, что происходит. Разве «все» на самом деле не означает все?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...