Технический совет № 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: milestogoCartridges: jboss-wildfly-8Gear Size: defaultScaling: noCreating application'mywildfly'... Artifacts deployed: ./ROOT.wardoneWildFly 8 administrator added. Pleasemakenote of these credentials:Username: adminMYtMTDbPassword: tq1K-QYLFgBDrun'rhc port-forward mywildfly'to access the web admin area on port 9990.Waitingforyour DNS name to be available ...doneCloning into'mywildfly'...Warning: Permanently added the RSA host keyforIP 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: 54699516ecb8d41cb8000016@mywildfly-milestogo.rhcloud.comGit remote:ssh://54699516ecb8d41cb8000016@mywildfly-milestogo.rhcloud.com/~/git/mywildfly.git/Cloned to:/Users/arungupta/workspaces/mywildflyRun'rhc show-app mywildfly'formoredetails 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<?xmlversion="1.0"encoding="UTF-8"standalone="no"?><arquillianxmlns="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"><containerqualifier="arquillian-wildfly-remote"/><containerqualifier="arquillian-wildfly-openshift"><configuration><propertyname="namespace">milestogo</property><propertyname="application">mywildfly</property><propertyname="libraDomain">rhcloud.com</property><propertyname="sshUserName">54699516ecb8d41cb8000016</property><propertyname="login">arungupta@redhat.com</property><propertyname="deploymentTimeoutInSeconds">300</property><propertyname="disableStrictHostChecking">true</property></configuration></container></arquillian>Обратите внимание на новый
<container>с квалификаторомarquillian-wildfly-openshift. Он предоставляет информацию о том, где находится сервер и некоторые другие свойства конфигурации.sshUserNameсвойстваsshUserNameдолжно совпадать с ранее созданным экземпляром WildFly. - Вот и все, теперь вы можете запустить тест для экземпляра WildFly в OpenShift:
01020304050607080910111213141516171819202122232425262728293031323334353637383940414243444546474849
javaee7-simple-sample> mvntest-Parquillian-wildfly-openshift[INFO] Scanningforprojects...[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 todate[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 todate[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.PersonTestNov 17, 2014 11:18:24 AM org.jboss.arquillian.container.openshift.OpenShiftContainer startINFO: Preparing Arquillian OpenShift container at http://mywildfly-milestogo.rhcloud.comNov 17, 2014 11:19:19 AM org.jboss.arquillian.container.openshift.OpenShiftRepository pushINFO: Pushed to the remote repositoryssh://54699516ecb8d41cb8000016@mywildfly-milestogo.rhcloud.com/~/git/mywildfly.git/Nov 17, 2014 11:20:56 AM org.jboss.arquillian.container.openshift.OpenShiftRepository pushINFO: Pushed to the remote repositoryssh://54699516ecb8d41cb8000016@mywildfly-milestogo.rhcloud.com/~/git/mywildfly.git/Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 152.653 secNov 17, 2014 11:20:56 AM org.jboss.arquillian.container.openshift.OpenShiftContainer stopINFO: Shutting down Arquillian OpenShift container at http://mywildfly-milestogo.rhcloud.comResults :Tests run: 2, Failures: 0, Errors: 0, Skipped: 0[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Totaltime: 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… . |