Адаптер контейнера 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)

Действия по воспроизведению
Выполнение теста Аркиллиана:

  1. git clone https://github.com/HasseNasse/liberty-arquillian-envvars.git
  2. мвн проверить

Развертывание приложения

  1. git clone https://github.com/HasseNasse/liberty-arquillian-envvars.git
  2. mvn liberty: старт-сервер
  3. cp target/ target/liberty/wlp/user/servers/defaultserver/dropins
  4. Перейдите по http://localhost:9080/net_nazarsit_arq_war/foo

0 ответов

Другие вопросы по тегам