Адаптер контейнера liberty-arquillian не читает файл server.env
Обзор проблемы
При запуске теста контейнера, управляемого Arquillian Liberty, переменные среды спецификаций не разрешаются в файле server.xml. WLPManagedContainer.class можно увидеть при попытке найти server.env, однако работающее приложение во время выполнения с использованием server.env не разрешается во время тестирования.
Ожидаемое поведение
Файл server.xml, содержащий, например, и foo=bar, определенный в server.env в каталоге работающего сервера. Должен быть решен во время теста в контейнере. При получении jndiEntry с помощью @Resource(lookup="env/foo") String foo; должен разрешить запрет во время выполнения, а также во время тестирования arquillian. См.: https://github.com/HasseNasse/liberty-arquillian-envvars
Текущее поведение
Сервлет приложения разрешает @Resource(lookup="env/foo") String foo; запретить во время развертывания приложения. Во время тестирования Arquillian @Resource(lookup="env/foo") String foo; разрешается в ${env.foo}, как определено в server.xml.
Протестировано с использованием Java 11 (Azul Zulu) и Java 8 (Azul Zulu + Oracle JDK)
Действия по воспроизведению
Выполнение теста Аркиллиана:
- git clone https://github.com/HasseNasse/liberty-arquillian-envvars.git
- мвн проверить
Развертывание приложения
- git clone https://github.com/HasseNasse/liberty-arquillian-envvars.git
- mvn liberty: старт-сервер
- cp target/ target/liberty/wlp/user/servers/defaultserver/dropins
- Перейдите по http://localhost:9080/net_nazarsit_arq_war/foo