tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Romain Manni-Bucau <rmannibu...@gmail.com>
Subject Re: tomee testing
Date Sun, 24 Jun 2018 11:02:23 GMT
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
<matthew.broadhead@nbmlaw.co.uk.invalid> 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
> > <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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message