tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthew Broadhead <matthew.broadh...@nbmlaw.co.uk.INVALID>
Subject Re: tomee testing
Date Sun, 24 Jun 2018 10:52:09 GMT
thanks.  removing the @Jars helped.  it is now injecting CDI bean fine.  
but now i get OpenJPA NPE on
List<QuoteType> quoteTypeList = query.getResultList();

<openjpa-2.4.2-r422266:1777108 nonfatal general error> 
org.apache.openjpa.persistence.PersistenceException: null
     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:1029)
     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:928)
     at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:1032)
     at 
org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:280)
     at 
org.apache.openjpa.jdbc.sql.SelectImpl$SelectResult.load(SelectImpl.java:2382)
     at 
org.apache.openjpa.jdbc.sql.AbstractResult.load(AbstractResult.java:274)
     at 
org.apache.openjpa.jdbc.kernel.InstanceResultObjectProvider.getResultObject(InstanceResultObjectProvider.java:59)
     at 
org.apache.openjpa.kernel.QueryImpl$PackingResultObjectProvider.getResultObject(QueryImpl.java:2080)
     at 
org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:35)
     at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1257)
     at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1013)
     at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:869)
     at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:800)
     at 
org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:541)
     at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:274)
     at 
org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:290)
     at 
uk.me.kissy.sales.dao.QuoteTypeDao.selectQuoteTypes(QuoteTypeDao.java:51)
     at 
uk.me.kissy.sales.dao.QuoteTypeDao$$OwbNormalScopeProxy0.selectQuoteTypes(uk/me/kissy/sales/dao/QuoteTypeDao.java)
     at 
uk.me.kissy.sales.test.QuoteGeneratorTest.test1(QuoteGeneratorTest.java:96)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:498)
     at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
     at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
     at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
     at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
     at 
org.apache.openejb.junit.DeployApplication$1.call(DeployApplication.java:44)
     at 
org.apache.openejb.junit.DeployApplication$1.call(DeployApplication.java:40)
     at 
org.apache.openejb.testing.ApplicationComposers.evaluate(ApplicationComposers.java:1070)
     at 
org.apache.openejb.junit.DeployApplication.evaluate(DeployApplication.java:40)
     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
     at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
     at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
     at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
     at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
     at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
     at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: java.lang.NullPointerException
     at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.setInverseRelation(JDBCStoreManager.java:452)
     at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:412)
     at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:305)
     at 
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:112)
     at 
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
     at 
org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1048)
     at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:1006)
     ... 45 more


On 24/06/18 12:18, Romain Manni-Bucau wrote:
> you don't need @Jars for that
>
> why you get an exception is cause appcomposers knows mysql has no EE
> classes so it is excluded from the "find" logic. @Jars means "grab the jars
> matching this prefix and scan them to include them in the deployed app".
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau>
|
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <https://www.packtpub.com/application-development/java-ee-8-high-performance>
>
>
> Le dim. 24 juin 2018 à 12:15, Matthew Broadhead
> <matthew.broadhead@nbmlaw.co.uk.invalid> a écrit :
>
>> i tried adding test scope to pom.xml
>> <dependency>
>>               <groupId>mysql</groupId>
>> <artifactId>mysql-connector-java</artifactId>
>> <version>${mysql.connector.version}</version>
>>               <scope>test</scope>
>>           </dependency>
>>
>> also added mysql-connector-java-5.1.33.jar to the root of
>> src/test/resources but i still get
>> java.lang.IllegalArgumentException: mysql not found in classpath
>>       at
>>
>> org.apache.openejb.testing.ApplicationComposers.findFiles(ApplicationComposers.java:1020)
>>       at
>>
>> org.apache.openejb.testing.ApplicationComposers.addWebApp(ApplicationComposers.java:899)
>>       at
>>
>> org.apache.openejb.testing.ApplicationComposers.deployApp(ApplicationComposers.java:651)
>>
>>
>> On 24/06/18 12:01, Romain Manni-Bucau wrote:
>>> Appcopposer loads classes in the classpath so add it as a test
>> dependency.
>>> Le dim. 24 juin 2018 11:37, Matthew Broadhead
>>> <matthew.broadhead@nbmlaw.co.uk.invalid> a écrit :
>>>
>>>> not much luck with arquillian.  i am trying ApplicationComposer again.
>>>> now i understand the properties format
>>>> @ContainerProperties({ @ContainerProperties.Property(name = "sales",
>>>> value = "new://Resource?type=DataSource"),
>>>>            @ContainerProperties.Property(name = "sales.JdbcDriver", value
>>>> = "com.mysql.jdbc.Driver"),
>>>>            @ContainerProperties.Property(name = "sales.JdbcUrl", value =
>>>> "jdbc:mysql://localhost:3306/sales"),
>>>>            @ContainerProperties.Property(name = "sales.Username", value =
>>>> "admin"),
>>>>            @ContainerProperties.Property(name = "sales.Password", value =
>>>> "blahblah") })
>>>>
>>>> but now i get
>>>> org.apache.xbean.propertyeditor.PropertyEditorException: Unable to
>>>> resolve class com.mysql.jdbc.Driver
>>>>        at
>>>>
>>>>
>> org.apache.xbean.propertyeditor.ClassEditor.toObjectImpl(ClassEditor.java:43)
>>>>        at
>>>>
>>>>
>> org.apache.xbean.propertyeditor.AbstractConverter.toObject(AbstractConverter.java:86)
>>>> how to bundle the mysql driver?  i tried
>>>> @Jars("mysql")
>>>>
>>>> On 23/06/18 21:58, Romain Manni-Bucau wrote:
>>>>> You need all your tested app needs (this is why classpath deploypent
>>>>> solutions are easier to maintain).
>>>>>
>>>>> Maybe import our ziplock lib and use Mvn.Builder class if you are maven
>>>>> based. It can help.
>>>>>
>>>>> Le sam. 23 juin 2018 20:09, Matthew Broadhead
>>>>> <matthew.broadhead@nbmlaw.co.uk.invalid> a écrit :
>>>>>
>>>>>> ah ok.  i found
>>>>>> .addAsManifestResource(new
>> ClassLoaderAsset("META-INF/persistence.xml"),
>>>>>> "persistence.xml")
>>>>>>
>>>>>> in
>>>>>>
>>>>>>
>> http://svn.apache.org/repos/asf/tomee/tomee/trunk/examples/arquillian-jpa/src/test/java/org/superbiz/arquillian/test/persistence/PersistenceTest.java
>>>>>> but now i am back to
>>>>>> SEVERE - CDI Beans module deployment failed
>>>>>> org.apache.webbeans.exception.WebBeansDeploymentException:
>>>>>> javax.enterprise.inject.UnsatisfiedResolutionException: Api type
>>>>>> [uk.me.kissy.sales.dao.QuoteTypeDao] is not found with the qualifiers
>>>>>> Qualifiers: [@javax.enterprise.inject.Default()]
>>>>>> for injection into Field Injection Point, field name : quoteTypeDao,
>>>>>> Bean Owner : [QuoteGeneratorArquillian, WebBeansType:ENTERPRISE,
>>>>>> Name:null, API
>>>>>>
>> Types:[uk.me.kissy.sales.test.QuoteGeneratorArquillian,java.lang.Object],
>> Qualifiers:[javax.enterprise.inject.Default,javax.enterprise.inject.Any]]
>>>>>>         at
>>>>>>
>> org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:327)
>>>>>> so i must have missed a required class somewhere
>>>>>>
>>>>>> On 23/06/18 18:53, Matthew Broadhead wrote:
>>>>>>> do i need to copy the persistence.xml to src/test/resources/META-INF?
>>>>>>> or can i specify its location somewhere in config?
>>>>>>>
>>>>>>> SEVERE - FAIL ... sales:    Missing required persistence.xml
for
>>>>>>> @PersistenceUnit ref "entityManagerFactory" to unit "sales"
>>>>>>> SEVERE - Invalid EjbModule(name=sales,
>>>>>>>
>>>> path=/home/matthew/git/case-management/sales/target/working-dir/0/sales)
>>>>>>> SEVERE - FAIL ... sales:    Missing required persistence.xml
for
>>>>>>> @PersistenceUnit ref "entityManagerFactory" to unit "sales"
>>>>>>> SEVERE - Invalid WebModule(name=sales,
>>>>>>>
>>>> path=/home/matthew/git/case-management/sales/target/working-dir/0/sales)
>>>>>>> INFO - Set the 'openejb.validation.output.level' system property
to
>>>>>>> VERBOSE for increased validation details.
>>>>>>> SEVERE - Unable to deploy collapsed ear in war
>>>>>>>
>>>> StandardEngine[Catalina].StandardHost[localhost].StandardContext[/sales]
>>>>>>> org.apache.openejb.config.ValidationFailedException: Module failed
>>>>>>> validation. AppModule(name=sales)
>>>>>>>        at
>>>>>>>
>> org.apache.openejb.config.ReportValidationResults.deploy(ReportValidationResults.java:88)
>>>>>>>        at
>>>>>>>
>> org.apache.openejb.config.AppInfoBuilder.build(AppInfoBuilder.java:322)
>>>>>>> On 23/06/18 13:30, Romain Manni-Bucau wrote:
>>>>>>>> You can but you need to add all the object graph in the archive.
>> Here
>>>>>>>> you
>>>>>>>> miss an injection it seems (in your dao?).
>>>>>>>>
>>>>>>>> Side note: operatesondeployment and naming your archive is
not
>> needed
>>>>>>>> here.
>>>>>>>> It is useful when you deploy N > 1 archives.
>>>>>>>>
>>>>>>>> Le sam. 23 juin 2018 12:54, Matthew Broadhead
>>>>>>>> <matthew.broadhead@nbmlaw.co.uk.invalid> a écrit :
>>>>>>>>
>>>>>>>>> i got the sample configuration from
>>>>>>>>> http://tomee.apache.org/developer/testing/arquillian/index.html
>>>> under
>>>>>>>>> remote section.
>>>>>>>>>
>>>>>>>>> now my problem is that i can't inject the CDI bean
>>>>>>>>> SEVERE - CDI Beans module deployment failed
>>>>>>>>> org.apache.webbeans.exception.WebBeansDeploymentException:
>>>>>>>>> javax.enterprise.inject.UnsatisfiedResolutionException:
Api type
>>>>>>>>> [uk.me.kissy.sales.dao.QuoteTypeDao] is not found with
the
>> qualifiers
>>>>>>>>> Qualifiers: [@javax.enterprise.inject.Default()]
>>>>>>>>> for injection into Field Injection Point, field name
:
>> quoteTypeDao,
>>>>>>>>> Bean Owner : [QuoteGeneratorArquillian, WebBeansType:ENTERPRISE,
>>>>>>>>> Name:null, API
>>>>>>>>>
>> Types:[uk.me.kissy.sales.test.QuoteGeneratorArquillian,java.lang.Object],
>> Qualifiers:[javax.enterprise.inject.Default,javax.enterprise.inject.Any]]
>>>>>>>>>          at
>>>>>>>>>
>>>> org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:327)
>>>>>>>>>          at
>>>>>>>>>
>>>>>>>>>
>> org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:196)
>>>>>>>>> i created the @Deployment using
>>>>>>>>> @Inject
>>>>>>>>>          private QuoteTypeDao quoteTypeDao;
>>>>>>>>>
>>>>>>>>>          @Deployment(name = "archive")
>>>>>>>>>          public static WebArchive war() {
>>>>>>>>>              return ShrinkWrap.create(WebArchive.class,
>>>>>>>>> "test.war").addAsWebInfResource(EmptyAsset.INSTANCE,
"beans.xml")
>>>>>>>>>                      .addClasses(QuoteTypeDao.class);
>>>>>>>>>          }
>>>>>>>>>
>>>>>>>>>          @Test
>>>>>>>>>          @OperateOnDeployment("archive")
>>>>>>>>>          public void test1() {
>>>>>>>>>              Quote quote = new Quote();
>>>>>>>>>              Promotion promotion = null;
>>>>>>>>>              List<QuoteType> quoteTypeList =
>>>>>>>>> quoteTypeDao.selectQuoteTypes(promotion, true);
>>>>>>>>>              System.out.println("Quote type list size:
" +
>>>>>>>>> quoteTypeList.size());
>>>>>>>>>              for (QuoteType quoteType : quoteTypeList)
{
>>>>>>>>>                  System.out.println(quoteType.getName());
>>>>>>>>>                  // quoteGeneratorDao.generateQuote(quote,
>> promotion,
>>>>>>>>>                  // quoteType.getQuoteTypeCategories(),
>> quoteQuestions,
>>>>>>>>>                  // quoteInit, true);
>>>>>>>>>                  assertEquals(0, 1);
>>>>>>>>>              }
>>>>>>>>>              assertEquals(0, 1);
>>>>>>>>>          }
>>>>>>>>>
>>>>>>>>> can i not inject a CDI bean into the test using
>>>>>>>>> arquillian-tomee-remote?
>>>>>>>>>
>>>>>>>>> On 23/06/18 10:17, Romain Manni-Bucau wrote:
>>>>>>>>>> It is not needed at all bit it appears in your stack.
If it is a
>>>> copy
>>>>>>>>> paste
>>>>>>>>>> just drop it ;)
>>>>>>>>>>
>>>>>>>>>> Le sam. 23 juin 2018 10:05, Matthew Broadhead
>>>>>>>>>> <matthew.broadhead@nbmlaw.co.uk.invalid> a
écrit :
>>>>>>>>>>
>>>>>>>>>>> hi, i checked http://incubator.apache.org/projects/sirona.html
>>>> but i
>>>>>>>>>>> couldn't find any documentation.  is sirona a
requirement for
>>>>>>>>>>> arquillian-tomee-remote?  i.e. is it necessary
to monitor tests?
>>>>>>>>>>> if so,
>>>>>>>>>>> then how do i exclude the mysql lib from the
configuration?
>>>>>>>>>>> <!-- we monitor the test with sirona -->
>>>>>>>>>>> <property name="javaagent">
>>>>>>>>>>> mvn:org.apache.sirona:sirona-javaagent:0.2-incubating:jar:shaded
>>>>>>>>>>> </property>
>>>>>>>>>>>
>>>>>>>>>>> On 23/06/18 08:15, Romain Manni-Bucau wrote:
>>>>>>>>>>>> Exclude mysql from sirona instrumentation.
Its bytecode is not
>>>> safe.
>>>>>>>>>>>> Le sam. 23 juin 2018 01:03, Matthew Broadhead
>>>>>>>>>>>> <matthew.broadhead@nbmlaw.co.uk.invalid>
a écrit :
>>>>>>>>>>>>
>>>>>>>>>>>>> thanks i added it using
>>>>>>>>>>>>> <property
>>>>>>>>>>>>>
>>>>>> name="additionalLibs">mvn:mysql:mysql-connector-java:5.1.33</property>
>>>>>>>>>>>>> but i get these errors (which don't seem
to stop execution)
>>>>>>>>>>>>>
>>>>>>>>>>>>> fail to transform
>>>>>>>>> class:com/mysql/jdbc/AbandonedConnectionCleanupThread,
>>>>>>>>>>>>> JSR/RET are not supported with computeFrames
>>>>>>>>>>>>> optionjava.lang.RuntimeException: JSR/RET
are not supported
>> with
>>>>>>>>>>>>> computeFrames option
>>>>>>>>>>>>>            at org.apache.sirona.asm.Frame.a(Unknown
Source)
>>>>>>>>>>>>>            at
>>>> org.apache.sirona.asm.MethodWriter.visitJumpInsn(Unknown
>>>>>>>>>>> Source)
>>>>>>>>>>>>> SEVERE - Can't create DataSource
>>>>>>>>>>>>> java.lang.LinkageError: loader (instance
of
>>>>>>>>>>>>> java/net/URLClassLoader):
>>>>>>>>>>>>> attempted  duplicate class definition
for name:
>>>>>>>>>>>>> "com/mysql/jdbc/ConnectionImpl"
>>>>>>>>>>>>>
>>>>>>>>>>>>> but this one is a stopper
>>>>>>>>>>>>>
>>>>>>>>>>>>> SEVERE - CDI Beans module deployment
failed
>>>>>>>>>>>>> org.apache.webbeans.exception.WebBeansDeploymentException:
>>>>>>>>>>>>> javax.enterprise.inject.UnsatisfiedResolutionException:
Api
>> type
>>>>>>>>>>>>> [uk.me.kissy.sales.dao.QuoteTypeDao]
is not found with the
>>>>>>>>>>>>> qualifiers
>>>>>>>>>>>>> Qualifiers: [@javax.enterprise.inject.Default()]
>>>>>>>>>>>>> for injection into Field Injection Point,
field name :
>>>>>>>>>>>>> quoteTypeDao,
>>>>>>>>>>>>> Bean Owner : [QuoteGeneratorArquillian,
>> WebBeansType:ENTERPRISE,
>>>>>>>>>>>>> Name:null, API
>>>>>>>>>>>>> Types:[java.lang.Object,uk.me
>>>>>>>>>>> .kissy.sales.test.QuoteGeneratorArquillian],
>>>>>>>>>>>
>> Qualifiers:[javax.enterprise.inject.Default,javax.enterprise.inject.Any]]
>>>>>>>>>>>>> i tried enabling remote support as i
am trying remote not
>>>> embedded
>>>>>>>>>>>>> tomee.remote.support = true
>>>>>>>>>>>>> # tomee.serialization.class.blacklist
= *
>>>>>>>>>>>>> tomee.serialization.class.whitelist =
*
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 22/06/18 18:44, Romain Manni-Bucau
wrote:
>>>>>>>>>>>>>> You can add it in libs property of
arquillian container
>> config.
>>>>>>>>>>>>>> Just
>>>>>>>>>>>>> prefix
>>>>>>>>>>>>>> the coords with mvn:.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Ex: mvn:mysql:mysql-connector-jav:version
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> It is a multiline property so you
can add N libs to tomee lib
>>>> this
>>>>>>>>> way
>>>>>>>>>>>>>> Le ven. 22 juin 2018 18:13, Matthew
Broadhead
>>>>>>>>>>>>>> <matthew.broadhead@nbmlaw.co.uk.invalid>
a écrit :
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> INFO: Downloading
>> org.apache.tomee:apache-tomee:7.0.3:zip:plus
>>>>>>>>> please
>>>>>>>>>>>>>>> wait...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> i have an arquillian test running
up ok but it is complaining
>>>>>>>>>>>>>>> SEVERE - FATAL ERROR: Unknown
error in Assembler. Please send
>>>> the
>>>>>>>>>>>>>>> following stack trace and this
message to
>>>>>>>>>>>>>>> users@tomee.apache.org :
>>>>>>>>>>>>>>> org.apache.xbean.propertyeditor.PropertyEditorException:
>>>>>>>>> Unable to
>>>>>>>>>>>>>>> resolve class com.mysql.jdbc.Driver
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> is there any way to directly
bring in the mysql driver from
>>>> maven
>>>>>>>>>>>>>>> central?  or do i need to download
manually and put it into
>>>>>>>>>>>>>>> src/test/tomee/lib?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 22/06/18 10:03, Romain Manni-Bucau
wrote:
>>>>>>>>>>>>>>>> You can theorically but I'd
recommand you to write it in the
>>>>>>>>>>>>>>>> final
>>>>>>>>>>>>> module
>>>>>>>>>>>>>>>> instead of trying to use
the parent which will be executed
>>>>>>>>>>>>>>>> before
>>>>>>>>> any
>>>>>>>>>>>>>>> other
>>>>>>>>>>>>>>>> modules.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> If A depends on B which depends
on C then write your tests
>> in
>>>>>>>>>>>>>>>> A for
>>>>>>>>>>> the
>>>>>>>>>>>>>>>> complete app tests and write
unit tests in B and C
>>>> (potentially
>>>>>>>>> using
>>>>>>>>>>>>>>>> arquillian, appcomposer or
even other solutions).
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> For reference:
>>>>>>>>>>>>>>>>
>>>> http://tomee.apache.org/developer/testing/arquillian/index.html
>>>>>>>>> and
>>>>>>>>>>>>>>>> http://tomee.apache.org/developer/testing/index.html
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Romain Manni-Bucau
>>>>>>>>>>>>>>>> @rmannibucau <https://twitter.com/rmannibucau>
|  Blog
>>>>>>>>>>>>>>>> <https://rmannibucau.metawerx.net/>
| Old Blog
>>>>>>>>>>>>>>>> <http://rmannibucau.wordpress.com>
| Github <
>>>>>>>>>>>>>>> https://github.com/rmannibucau>
|
>>>>>>>>>>>>>>>> LinkedIn <https://www.linkedin.com/in/rmannibucau>
| Book
>>>>>>>>>>>>>>>> <
>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>>>>>>>>>>>>>>>> Le ven. 22 juin 2018 à 09:42,
Matthew Broadhead
>>>>>>>>>>>>>>>> <matthew.broadhead@nbmlaw.co.uk.invalid>
a écrit :
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> it sounds like Arquillian
might be the best fit in my case.
>>>> can
>>>>>>>>> the
>>>>>>>>>>>>>>>>> tests inject CDI beans
from the webapps or does everything
>>>>>>>>>>>>>>>>> need to
>>>>>>>>>>> be
>>>>>>>>>>>>>>>>> done through http? looking
at
>>>>>>>>>>>>>>>>> https://tomee.apache.org/refcard/refcard.html
"Simple
>>>>>> Arquilian
>>>>>>>>>>> Test"
>>>>>>>>>>>>>>> it
>>>>>>>>>>>>>>>>> looks as if beans can
be injected...
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> is it possible to create
the tests (or at least TomEE
>>>> instance)
>>>>>>>>> in a
>>>>>>>>>>>>>>>>> parent pom?  i need to
run several webapps at once which
>> are
>>>>>>>>>>>>>>>>> all
>>>>>>>>>>>>> modules
>>>>>>>>>>>>>>>>> of the parent.  i think
code is discouraged in parent
>>>> project.
>>>>>>>>>>>>>>>>> On 22/06/18 09:18, Romain
Manni-Bucau wrote:
>>>>>>>>>>>>>>>>>> You can set the property
openejb.location (or the other
>>>>>>>>>>>>>>>>>> ones we
>>>>>>>>>>> have)
>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>> point to an openejb.xml
if you want. The advantage of the
>>>>>>>>>>> properties
>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>> that it is filtered
during the test and doesnt require a
>>>> maven
>>>>>>>>>>> build
>>>>>>>>>>>>>>> but
>>>>>>>>>>>>>>>>> it
>>>>>>>>>>>>>>>>>> is up to you and
depends the project setup.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Arquillian is great
to test complete application*s* in a
>>>> real
>>>>>>>>>>> server,
>>>>>>>>>>>>>>>>>> ApplicationComposer
is good to test small parts of
>>>>>>>>>>>>>>>>>> applications
>>>>>>>>> or
>>>>>>>>>>>>>>>>>> frameworks, TomEE,
>>>>>>>>>>>>>>>>>> TomEEEmbeddedSingleRunner
is great to test a real app
>>>> (single
>>>>>>>>>>>>>>> deployment
>>>>>>>>>>>>>>>>>> from the classpath
+ single test setup) and will save a
>> lot
>>>> of
>>>>>>>>>>> time.
>>>>>>>>>>>>>>>>>> Romain Manni-Bucau
>>>>>>>>>>>>>>>>>> @rmannibucau <https://twitter.com/rmannibucau>
| Blog
>>>>>>>>>>>>>>>>>> <https://rmannibucau.metawerx.net/>
| Old Blog
>>>>>>>>>>>>>>>>>> <http://rmannibucau.wordpress.com>
| Github <
>>>>>>>>>>>>>>>>> https://github.com/rmannibucau>
|
>>>>>>>>>>>>>>>>>> LinkedIn <https://www.linkedin.com/in/rmannibucau>
| Book
>>>>>>>>>>>>>>>>>> <
>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>>>>>>>>>>>>>>>>>> Le ven. 22 juin 2018
à 09:03, Matthew Broadhead
>>>>>>>>>>>>>>>>>> <matthew.broadhead@nbmlaw.co.uk.invalid>
a écrit :
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> i am trying to
use ApplicationComposer to create some
>>>> tests.
>>>>>>>>> CDI
>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>>> scanning the
classes correctly but i am a little
>> uncertain
>>>>>>>>>>>>>>>>>>> about
>>>>>>>>>>> how
>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>> load a test database.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> i was going to
start by just loading the database as
>>>>>>>>>>>>>>>>>>> normal as
>>>>>>>>> it
>>>>>>>>>>>>> is a
>>>>>>>>>>>>>>>>>>> copy of production
database.  but how do i specify the
>>>>>>>>>>>>>>>>>>> username
>>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>> password or any
other properties that are needed to
>>>>>>>>>>>>>>>>>>> connect to
>>>>>>>>> the
>>>>>>>>>>>>> db?
>>>>>>>>>>>>>>>>>>> @ContainerProperties(@ContainerProperties.Property(name
=
>>>>>>>>> "mydb",
>>>>>>>>>>>>>>> value
>>>>>>>>>>>>>>>>>>> = "jdbc:mysql://localhost:3306/mydb"))
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> is there a way
to specify the resource in an xml file?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> another question...is
it better to start with Arquillian
>> or
>>>>>>>>>>>>>>>>>>> ApplicationComposer?
>>>>>>>>>>>>>>>>>>>
>>


Mime
View raw message