адаптер контейнера liberty-arquillian не читает файл server.env - PullRequest
0 голосов
/ 31 января 2019

Обзор проблемы
При запуске теста контейнера, управляемого Arquillian Liberty, указанные переменные среды не разрешаются в файле server.xml.WLPManagedContainer.class можно увидеть при попытке найти server.env, однако работающее приложение во время выполнения с использованием server.env не разрешается во время тестирования.

Ожидаемое поведение
Aфайл 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. mvn verify

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

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