maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan <stefan.e...@ontotext.com>
Subject How to run multiple rounds of integration tests in one build
Date Fri, 27 Mar 2015 22:14:40 GMT
Hi guys,

I've been banging my head over the following problem lately and wasn't 
able to find a solution at all on the interwebs.

So, here's some context. I'm working on multiple RESTful APIs within a 
microservices architecture. Some of these applications can form separate 
stand alone sub-systems, which can safely be deployed on secured 
environments with API security turned off. Or, they can be deployed as 
public services, where some actions need proper authorization - i.e. 
addition and deletion of content, cluster management, etc.

I want to be able to run 2 sets of, basically acceptance tests, within 
the build of each API. I need to start the APIs with different 
configurations and execute:

 1. all tests against secured API
 2. all tests - security tests against unsecured API

The setup is also not trivial, as some of the APIs work with 
Solr/Cassandra/GraphDB, but at least it's the same for all tests and can 
be reused. The only change between test runs would be a single JVM 
parameter which turns security on and off.

Basically, I want to be able to execute the /pre-integration-test -> 
integration-tests -> post-integration-test -> verify/ lifecycle phases 
multiple times.

At the moment the best option I can see is to create multiple profiles 
and run the build multiple times. This has the obvious disadvantages of:

 1. unnecessarily repackaging artifacts multiple times
 2. can't run all tests with one command, which opens the door for
    errors on dev machines
 3. Jenkins builds will become heavier and again, increased possibility
    of errors when configuring the jobs

Do you have any better ideas?

Thanks,
Stefan

-- 
Stefan Enev<stefan.enev@ontotext.com>
Technical Architect, Publishing Platform
Ontotext AD


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message