----- Original Message -----
From: "John Sanda" <jsanda(a)redhat.com>
To: "Discussions around Hawkular development"
<hawkular-dev(a)lists.jboss.org>
Sent: Wednesday, January 13, 2016 6:09:20 AM
Subject: [Hawkular-dev] where should integration/glue code and tests live?
I am currently working on accounts integration in metrics. The integration
code lives in the hawkular-component module in the metrics repo. Now I want
to write some integration tests to verify that things work as expected. I
don’t really think that integration/glue code belongs in the component repo.
I want to make sure that wherever it lives I can still get feed back from CI
builds when changes are made. When I make a change to component code in the
metrics repo, the CI build runs and checks for regressions by running tests.
There is a pretty quick feedback loop which is very important. If the glue
code is living elsewhere, I would like for a a CI build to get kicked off at
some point after the metrics CI builds completes successfully so that I can
find out if any of my changes to the component code caused a regression in
the glue code. And of course if I make a change directly in the glue code, I
should get the feedback from the check-in CI job. In RHQ we had a build
pipeline with jenkins that handled this for us. Is this possible with
travis?
For now I am putting the glue code and tests in the metrics repo so that I
can have the CI feedback loop, but I see this as a short term solution. It
may work fine in this instance, but what about when I want to test some
other integration? I will be pulling in more hawkular dependencies and
eventually hit circular dependencies. And the quick feedback that I get from
the component CI build will get a lot slower in the process.
I think this topic have been discussed and might have several angles as integration test
can have a wide meaning.
Today there is a distribution wildfly+bus+accounts that can be used for small itests, for
example in alerts we use that to check rest and bus connectivity as these tests are focus
mainly on the component.
Other broader integration tests should live on hawkular (I think).