Я занимаюсь разработкой приложения в Symfony (версия 4.2.3) и использую также несколько пакетов из проекта Sonata , а также API Platform .У нас есть 4 разные роли пользователей с разными привилегиями.API доступен только для чтения и должен быть доступен для ROLE_USER
, но ROLE_USER
не должен иметь доступ к области администратора.Другие роли должны иметь доступ к области администратора.
Я настроил брандмауэры и пути контроля доступа в файле config/packages/security.yaml
, создал свой собственный обработчик безопасности VoterSecurityHandler
и использую его в config/packages/sonata_admin.yaml
:
sonata_admin:
security:
handler: sonata.admin.security.handler.voter
Обработчик безопасности зарегистрирован в config/services.yaml
:
sonata.admin.security.handler.voter:
class: App\Security\Handler\VoterSecurityHandler
arguments: ["@security.authorization_checker", ['ROLE_SUPER_ADMIN']]
Я написал тесты, используя LiipFunctionalTestBundle и предоставляя данные для разных пользователей, чтобы проверить, являются ли их разрешенияправильно обработано.
Я пытаюсь следовать рекомендациям и отобразить всю структуру приложения из src/
в каталог tests/
.Поскольку у меня src/Security/Handler/VoterSecurityHandler.php
, я создал tests/Security/Handler/TestVoterSecurityHandler.php
.
Однако VoterSecurityHandler
должен управлять разрешениями для администратора сонаты, и я на самом деле тестирую настройки конфигурации в config/packages/security.yaml
.
Неуместно помещать все тесты в вышеупомянутый класс, но мне интересно, куда я должен поместить этот вид "тестов на дым"?
Мой вопрос:
Где я могу поставить тесты, тестирующие конфигурацию в файлах YAML?