Технический совет № 54 объяснил, как включить Arquillian для существующего проекта Java EE. В этом совете тесты выполнялись на локально установленном сервере WildFly. Будет ли работать тот же адаптер, если этот экземпляр WildFly работает в OpenShift? Нет!
Потому что ограничения безопасности и требования PaaS, в отличие от xlocalhost, различны. Давайте посмотрим, что требуется для запуска наших тестов в javaee7-simple-sample для экземпляра WildFly, размещенного в OpenShift.
Давайте начнем!
- Как объясняется в техническом совете № 52 , создайте приложение WildFly в OpenShift, как показано ниже:
01020304050607080910111213141516171819202122232425262728293031
workspaces> <strong>rhc app-create mywildfly jboss-wildfly-8<
/strong
>
Application Options
-------------------
Domain: milestogo
Cartridges: jboss-wildfly-8
Gear Size: default
Scaling: no
Creating application
'mywildfly'
... Artifacts deployed: .
/ROOT
.war
done
WildFly 8 administrator added. Please
make
note of these credentials:
Username: adminMYtMTDb
Password: tq1K-QYLFgBD
run
'rhc port-forward mywildfly'
to access the web admin area on port 9990.
Waiting
for
your DNS name to be available ...
done
Cloning into
'mywildfly'
...
Warning: Permanently added the RSA host key
for
IP address
'54.163.64.193'
to the list of known hosts.
Your application
'mywildfly'
is now available.
URL: http:
//mywildfly-milestogo
.rhcloud.com/
SSH to: [email protected]
Git remote:
ssh
:
//54699516ecb8d41cb8000016
@mywildfly-milestogo.rhcloud.com/~
/git/mywildfly
.git/
Cloned to:
/Users/arungupta/workspaces/mywildfly
Run
'rhc show-app mywildfly'
for
more
details about your app.
Запишите имя пользователя ssh из журнала. Это часть перед
@
в значении, соответствующемSSH to
. - До разрешения FORGEPLUGINS-177 нам нужно вручную добавить профиль maven и предоставить информацию о конфигурации контейнера в «arquillian.xml». Добавьте следующий
<profile>
в «pom.xml»:010203040506070809101112131415161718192021222324<
profile
>
<
id
>arquillian-wildfly-openshift</
id
>
<
build
>
<
plugins
>
<
plugin
>
<
artifactId
>maven-surefire-plugin</
artifactId
>
<
version
>2.14.1</
version
>
<
configuration
>
<
systemPropertyVariables
>
<
arquillian.launch
>arquillian-wildfly-openshift</
arquillian.launch
>
</
systemPropertyVariables
>
</
configuration
>
</
plugin
>
</
plugins
>
</
build
>
<
dependencies
>
<
dependency
>
<
groupId
>org.jboss.arquillian.container</
groupId
>
<
artifactId
>arquillian-openshift</
artifactId
>
<
version
>1.0.0.Final-SNAPSHOT</
version
>
<
scope
>test</
scope
>
</
dependency
>
</
dependencies
>
</
profile
>
Это использует
arquillian-openshift
и ссылается наarquillian-wildfly-openshift
которая будет сопоставлена с соответствующим контейнером в «arquillian.xml». Вот как выглядит обновленный «arquillian.xml»:010203040506070809101112131415<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
standalone
=
"no"
?>
<
arquillian
xmlns
=
"http://jboss.org/schema/arquillian"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
=
"http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd"
>
<
container
qualifier
=
"arquillian-wildfly-remote"
/>
<
container
qualifier
=
"arquillian-wildfly-openshift"
>
<
configuration
>
<
property
name
=
"namespace"
>milestogo</
property
>
<
property
name
=
"application"
>mywildfly</
property
>
<
property
name
=
"libraDomain"
>rhcloud.com</
property
>
<
property
name
=
"sshUserName"
>54699516ecb8d41cb8000016</
property
>
<
property
name
=
"deploymentTimeoutInSeconds"
>300</
property
>
<
property
name
=
"disableStrictHostChecking"
>true</
property
>
</
configuration
>
</
container
>
</
arquillian
>
Обратите внимание на новый
<container>
с квалификаторомarquillian-wildfly-openshift
. Он предоставляет информацию о том, где находится сервер и некоторые другие свойства конфигурации.sshUserName
свойстваsshUserName
должно совпадать с ранее созданным экземпляром WildFly. - Вот и все, теперь вы можете запустить тест для экземпляра WildFly в OpenShift:
01020304050607080910111213141516171819202122232425262728293031323334353637383940414243444546474849
javaee7-simple-sample> mvn
test
-Parquillian-wildfly-openshift
[INFO] Scanning
for
projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building helloworld 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ helloworld ---
[INFO] Using
'UTF-8'
encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ helloworld ---
[INFO] Nothing to compile - all classes are up to
date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ helloworld ---
[INFO] Using
'UTF-8'
encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ helloworld ---
[INFO] Nothing to compile - all classes are up to
date
[INFO]
[INFO] --- maven-surefire-plugin:2.14.1:
test
(default-
test
) @ helloworld ---
[INFO] Surefire report directory:
/Users/arungupta/workspaces/javaee7-simple-sample/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.javaee7.sample.PersonTest
Nov 17, 2014 11:18:24 AM org.jboss.arquillian.container.openshift.OpenShiftContainer start
INFO: Preparing Arquillian OpenShift container at http:
//mywildfly-milestogo
.rhcloud.com
Nov 17, 2014 11:19:19 AM org.jboss.arquillian.container.openshift.OpenShiftRepository push
INFO: Pushed to the remote repository
ssh
:
//54699516ecb8d41cb8000016
@mywildfly-milestogo.rhcloud.com/~
/git/mywildfly
.git/
Nov 17, 2014 11:20:56 AM org.jboss.arquillian.container.openshift.OpenShiftRepository push
INFO: Pushed to the remote repository
ssh
:
//54699516ecb8d41cb8000016
@mywildfly-milestogo.rhcloud.com/~
/git/mywildfly
.git/
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 152.653 sec
Nov 17, 2014 11:20:56 AM org.jboss.arquillian.container.openshift.OpenShiftContainer stop
INFO: Shutting down Arquillian OpenShift container at http:
//mywildfly-milestogo
.rhcloud.com
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total
time
: 05:46 min
[INFO] Finished at: 2014-11-17T11:24:09+02:00
[INFO] Final Memory: 12M
/309M
[INFO] ------------------------------------------------------------------------
- Полный исходный код доступен по адресу github.com/javaee-samples/javaee7-simple-sample .
Наслаждайтесь!
Ссылка: | Arquillian тестирует экземпляр WildFly, размещенный на OpenShift, от нашего партнера по JCG Аруна Гупта в блоге Miles to go 2.0… . |