mapping error in your model it seems or bad persistence unit definition if you dont use scanning.
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:52, Matthew Broadhead <[email protected]> a écrit : > 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 > > <[email protected]> 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 > >>> <[email protected]> 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 > >>>>> <[email protected]> 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 > >>>>>>>> <[email protected]> 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 > >>>>>>>>>> <[email protected]> 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 > >>>>>>>>>>>> <[email protected]> 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 > >>>>>>>>>>>>>> <[email protected]> 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 > >>>>>>>>>>>>>>> [email protected] : > >>>>>>>>>>>>>>> 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 > >>>>>>>>>>>>>>>> <[email protected]> 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 > >>>>>>>>>>>>>>>>>> <[email protected]> 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? > >>>>>>>>>>>>>>>>>>> > >> > >
