like https://gist.github.com/rmannibucau/4df57b865a50edab1f2c259fb9c5c6e2 ?


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://blog-rmannibucau.rhcloud.com> | Old Wordpress Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com> | JavaEE Factory
<https://javaeefactory-rmannibucau.rhcloud.com>

2016-08-19 15:08 GMT+02:00 Rafael Pestano <[email protected]>:

> Thanks for the explanation, I've looked at your sample and see too much
> infrastructure code inside the test (e.g. db setup) I'd like to have
> something like the example at [1] where we delegate infra code to an
> interceptor, can we have something similar with app composer, a 'dbunit
> module' makes sense?
>
>
> [1]
> https://github.com/rmpestano/dbunit-rules-sample/blob/
> master/src/test/java/com/github/dbunit/rules/sample/
> cdi/DBUnitRulesCDITest.java
>
> Em sex, 19 de ago de 2016 09:44, Romain Manni-Bucau <[email protected]
> >
> escreveu:
>
> > Basically appcomposer lifecycle is bound to the statement. For the runner
> > or @Rule it means a method and for a @ClassRule the class. If you don't
> run
> > it before other rules, other rules can't use the container including
> > container resources like datasources. So chaining appcomposert then
> dbunit
> > rule works. If you check my impl I used @DbUnitInstance to mark an
> injected
> > field as a datasource to use instead of using a ConnectionHolder to make
> > the test setup smoother.
> >
> >
> > Romain Manni-Bucau
> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > <https://blog-rmannibucau.rhcloud.com> | Old Wordpress Blog
> > <http://rmannibucau.wordpress.com> | Github <
> > https://github.com/rmannibucau> |
> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> > <http://www.tomitribe.com> | JavaEE Factory
> > <https://javaeefactory-rmannibucau.rhcloud.com>
> >
> > 2016-08-19 13:43 GMT+02:00 rmpestano <[email protected]>:
> >
> > > You Tell me ;) don't know the internals of app composer
> > >
> > > Em sex, 19 de ago de 2016 02:28, Romain Manni-Bucau [via TomEE &
> > OpenEJB] <
> > > [email protected]> escreveu:
> > >
> > > > What about creating the container - therefore DB - before calling
> > dbunit?
> > > >
> > > > Le 19 août 2016 01:53, "rmpestano" <[hidden email]
> > > > <http:///user/SendEmail.jtp?type=node&node=4679808&i=0>> a écrit :
> > > >
> > > > > Hi again,
> > > > >
> > > > > I've tried to chain rules but datasource isn't initialized when
> > DBunit
> > > > rule
> > > > > apply method is run:
> > > > >
> > > > > @Rule
> > > > > public TestRule theRule = RuleChain.outerRule(
> DBUnitRule.instance(new
> > > > > ConnectionHolder() {
> > > > >
> > > > >     @Override
> > > > >     public Connection getConnection() {
> > > > >         try {
> > > > >             return ds.getConnection(); //called by dbunit rule
> apply
> > > > >         } catch (Exception e) {
> > > > >             e.printStackTrace();
> > > > >         }
> > > > >         return null;
> > > > >     }
> > > > > })).around(new ApplicationComposerRule(this));
> > > > >
> > > > >
> > > > > Any idea on how to get datasource connection when dbunit rule apply
> > > > method
> > > > > is called?
> > > > >
> > > > > Thanks in advance.
> > > > >
> > > > >
> > > > > 2016-08-17 15:03 GMT-03:00 Romain Manni-Bucau [via TomEE &
> OpenEJB] <
> > > > > [hidden email] <http:///user/SendEmail.jtp?
> > > type=node&node=4679808&i=1>>:
> > > >
> > > > >
> > > > > > You need to chain rules: appcomposer then dbunit or set
> appcomposer
> > > as
> > > > > > @ClassRule instead of @Rule
> > > > > >
> > > > > > @Rafael: openejb:Resource/id should work
> > > > > >
> > > > > > Le 17 août 2016 19:45, "Rafael Pestano" <[hidden email]
> > > > > > <http:///user/SendEmail.jtp?type=node&node=4679791&i=0>> a
> écrit :
> > > > > >
> > > > > > > I've also try to look up the datasource via jndi but without
> > > success
> > > > > > >
> > > > > > > 2016-08-17 14:42 GMT-03:00 Rafael Pestano <[hidden email]
> > > > > > <http:///user/SendEmail.jtp?type=node&node=4679791&i=1>>:
> > > > > > >
> > > > > > > > Hi Romain,
> > > > > > > >
> > > > > > > > I've tried to create DBUnit Rule in AppComposer test but
> could
> > > not
> > > > > > > > instantiate the rule cause it needs a JDBC connection but
> looks
> > > > like
> > > > > > > > composer enriches the datasource after DBUnit rule apply
> method
> > > is
> > > > > > > invoked.
> > > > > > > >
> > > > > > > >
> > > > > > > > @Resource
> > > > > > > > DataSource ds;
> > > > > > > > @Rule
> > > > > > > > public DBUnitRule dbUnitRule = DBUnitRule.instance(new
> > > > > > ConnectionHolder()
> > > > > > > > {
> > > > > > > > @Override
> > > > > > > > public Connection getConnection() { //its called by 'apply'
> > > dbunit
> > > > > > method
> > > > > > > > rule
> > > > > > > > try {
> > > > > > > > return ds.getConnection();
> > > > > > > > } catch (Exception e) {
> > > > > > > > // TODO Auto-generated catch block
> > > > > > > > e.printStackTrace();
> > > > > > > > }
> > > > > > > > return null;
> > > > > > > > }
> > > > > > > > });
> > > > > > > >
> > > > > > > >
> > > > > > > > Any idea on how to workaround that?
> > > > > > > >
> > > > > > > > Complete source code can be found here: https://github.com/
> > > > > > > > rmpestano/tomee/blob/master/examples/application-composer-
> > > > > > > > dbunit/src/test/java/org/superbiz/composed/MoviesTest.
> java#L62
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > 2016-08-17 11:33 GMT-03:00 Romain Manni-Bucau <[hidden email]
> > > > > > <http:///user/SendEmail.jtp?type=node&node=4679791&i=2>>:
> > > > > > > >
> > > > > > > >> 2016-08-17 16:28 GMT+02:00 hwaastad <[hidden email]
> > > > > > <http:///user/SendEmail.jtp?type=node&node=4679791&i=3>>:
> > > > > > > >>
> > > > > > > >> > Hi,
> > > > > > > >> > I think I meant if it's possible to run a interceptor on a
> > > test
> > > > > > > >> > method....just like the usedataset...
> > > > > > > >> >
> > > > > > > >> >
> > > > > > > >> Then no cause we don't lookup the instance in CDI but keep
> the
> > > > JUnit
> > > > > > one
> > > > > > > >> to
> > > > > > > >> not break other things - deltaspike cdirunner has a flag for
> > > > that,
> > > > > > guess
> > > > > > > >> it
> > > > > > > >> is what you asked for.
> > > > > > > >>
> > > > > > > >> That said keeping in mind appcomposer is a rule, another
> rule
> > is
> > > > a
> > > > > > > natural
> > > > > > > >> interceptor for it - without requiring EE.
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> >
> > > > > > > >> > OK, I'll have a look at what you've done. I think I can
> make
> > > > > > something
> > > > > > > >> out
> > > > > > > >> > of it :-)
> > > > > > > >> >
> > > > > > > >> > Thx,
> > > > > > > >> >
> > > > > > > >> > hw
> > > > > > > >> >
> > > > > > > >> >
> > > > > > > >> >
> > > > > > > >> >
> > > > > > > >> >
> > > > > > > >> > --
> > > > > > > >> > View this message in context:
> > http://tomee-openejb.979440.n4
> > > > > > > >> .nabble.com/
> > > > > > > >> > Applicaitoncomposer-and-dbunit-rules-
> tp4679781p4679783.html
> > > > > > > >> > Sent from the TomEE Users mailing list archive at
> > Nabble.com.
> > > > > > > >> >
> > > > > > > >>
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > Att,
> > > > > > > >
> > > > > > > > Rafael M. Pestano
> > > > > > > >
> > > > > > > > Desenvolvedor Java Cia. de Processamento de Dados do Rio
> Grande
> > > do
> > > > > Sul
> > > > > > > > http://rpestano.wordpress.com/
> > > > > > > > @realpestano
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Att,
> > > > > > >
> > > > > > > Rafael M. Pestano
> > > > > > >
> > > > > > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande
> > do
> > > > Sul
> > > > > > > http://rpestano.wordpress.com/
> > > > > > > @realpestano
> > > > > > >
> > > > > >
> > > > > >
> > > > > > ------------------------------
> > > > > > If you reply to this email, your message will be added to the
> > > > discussion
> > > > > > below:
> > > > > > http://tomee-openejb.979440.n4.nabble.com/
> Applicaitoncomposer-and-
> > > > > > dbunit-rules-tp4679781p4679791.html
> > > > > > To start a new topic under TomEE Users, email
> > > > > > [hidden email] <http:///user/SendEmail.jtp?
> > > type=node&node=4679808&i=2>
> > > > > > To unsubscribe from TomEE Users, click here
> > > > > > <http://tomee-openejb.979440.n4.nabble.com/template/
> > > > > NamlServlet.jtp?macro=unsubscribe_by_code&node=979441&code=
> > > > > cm1wZXN0YW5vQGdtYWlsLmNvbXw5Nzk0NDF8MTE1OTM0ODgyNg==>
> > > > > > .
> > > > > > NAML
> > > > > > <http://tomee-openejb.979440.n4.nabble.com/template/
> > > > > NamlServlet.jtp?macro=macro_viewer&id=instant_html%
> > > > > 21nabble%3Aemail.naml&base=nabble.naml.namespaces.
> > > > > BasicNamespace-nabble.view.web.template.NabbleNamespace-
> > > > > nabble.view.web.template.NodeNamespace&breadcrumbs=
> > > > > notify_subscribers%21nabble%3Aemail.naml-instant_emails%
> > > > > 21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Att,
> > > > >
> > > > > Rafael M. Pestano
> > > > >
> > > > > Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do
> > Sul
> > > > > http://rpestano.wordpress.com/
> > > > > @realpestano
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > View this message in context: http://tomee-openejb.979440.
> > > n4.nabble.com/
> > > > > Applicaitoncomposer-and-dbunit-rules-tp4679781p4679804.html
> > > > > Sent from the TomEE Users mailing list archive at Nabble.com.
> > > > If you reply to this email, your message will be added to the
> > discussion
> > > > below:
> > > >
> > > > http://tomee-openejb.979440.n4.nabble.com/Applicaitoncomposer-and-
> > > dbunit-rules-tp4679781p4679808.html
> > > > To start a new topic under TomEE Users, email
> > > > [email protected]
> > > > To unsubscribe from TomEE Users, click here
> > > > <http://tomee-openejb.979440.n4.nabble.com/template/
> > > NamlServlet.jtp?macro=unsubscribe_by_code&node=979441&code=
> > > cm1wZXN0YW5vQGdtYWlsLmNvbXw5Nzk0NDF8MTE1OTM0ODgyNg==>
> > > > .
> > > > NAML
> > > > <http://tomee-openejb.979440.n4.nabble.com/template/
> > > NamlServlet.jtp?macro=macro_viewer&id=instant_html%
> > > 21nabble%3Aemail.naml&base=nabble.naml.namespaces.
> > > BasicNamespace-nabble.view.web.template.NabbleNamespace-
> > > nabble.view.web.template.NodeNamespace&breadcrumbs=
> > > notify_subscribers%21nabble%3Aemail.naml-instant_emails%
> > > 21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
> > > >
> > >
> > >
> > >
> > >
> > > --
> > > View this message in context: http://tomee-openejb.979440.
> n4.nabble.com/
> > > Applicaitoncomposer-and-dbunit-rules-tp4679781p4679809.html
> > > Sent from the TomEE Users mailing list archive at Nabble.com.
> > >
> >
>

Reply via email to