Тестирование приложений JakartaEE с Arquillian Payara Micro Remote - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь протестировать приложение JakartaEE с Arquillian в Maven. Поскольку продуктивное приложение должно работать на Payara Micro, я выбрал зависимость Payara Micro Remote для связи с удаленным сервером:

<dependencies>
    <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <version>1.6.0.Final</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>fish.payara.arquillian</groupId>
        <artifactId>payara-micro-remote</artifactId>
        <version>2.2</version>
        <scope>test</scope>
    /dependency>
</dependencies>

При выполнении тестов я получил следующую ошибку:

[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.325 s <<< FAILURE! - in com.mycompany.SomeTestClass
[ERROR] com.mycompany.SomeTestClass  Time elapsed: 1.325 s  <<< ERROR!
java.lang.IllegalArgumentException: Deployment failed. Payara Micro Deployer at http://localhost:8080/micro-deployer returned 404

Я также попытался развернуть Payara Micro Deployer на удаленном Payara Micro Server следующим образом:

<plugin>
    <groupId>fish.payara.maven.plugins</groupId>
    <artifactId>payara-micro-maven-plugin</artifactId>
    <version>1.0.7</version>
    <configuration>
        <daemon>true</daemon>
        <commandLineOptions>
            <commandLineOption>
                <key>--deployFromGAV</key>
                <value>"fish.payara.arquillian,payara-micro-deployer,2.2"</value>
            </commandLineOption>
        </commandLineOptions>
    </configuration>
    <!-- ...some cother settings... -->
</plugin>

Но это привело к

[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.34 s <<< FAILURE! - in com.mycompany.SomeTestClass
[ERROR] com.mycompany.SomeTestClass  Time elapsed: 1.34 s  <<< ERROR!
java.lang.IllegalArgumentException: Deployment failed. Payara Micro Deployer at http://localhost:8080/micro-deployer returned 403

Что я делаю не так? Есть ли описание или пример проекта о том, как заставить работать Arquillian с Payara Micro Remote?

Используемая версия Payara Micro - 5.194.

Заранее спасибо!

1 Ответ

0 голосов
/ 28 апреля 2020

После проверки развернутых путей Payara Micro, которые были

GET     /payara-micro-deployer/application.wadl
DELETE  /payara-micro-deployer/application/{name}
PUT     /payara-micro-deployer/application/{name}

и поиска в исходном коде конфигурации разъема Payara Micro Remote (https://github.com/payara/ecosystem-arquillian-connectors/blob/master/payara-micro-remote/src/main/java/fish/payara/arquillian/container/payaramicro/remote/PayaraMicroRemoteContainerConfiguration.java)

    /**
     * Get path payara-micro-deployer resides at.
     * @return
     */
    public String getDeployerContextPath() {
        return deployerContextPath;
    }

Я нашел решение.

Мне пришлось настроить путь развертывания Payara Micro в arquillian. xml следующим образом:

<configuration>
    <property name="deployerContextPath">/payara-micro-deployer</property>
</configuration>
...