Skip to content

feat/1573 arquillian cargo replacement#2471

Merged
kthoms merged 1 commit into
mainfrom
feature/1573-arquillian-cargo-replacement
Mar 20, 2026
Merged

feat/1573 arquillian cargo replacement#2471
kthoms merged 1 commit into
mainfrom
feature/1573-arquillian-cargo-replacement

Conversation

@shiftyseaotter

@shiftyseaotter shiftyseaotter commented Feb 27, 2026

Copy link
Copy Markdown
Contributor

feat(integration-tests):
webapps: Integration Tests are using Arquillian instead of Cargo Plugin
closes #1573

@shiftyseaotter shiftyseaotter changed the title Feature/1573 arquillian cargo replacement feat/1573 arquillian cargo replacement Feb 27, 2026
@kthoms kthoms requested a review from Copilot February 27, 2026 17:17
@kthoms

kthoms commented Feb 27, 2026

Copy link
Copy Markdown
Contributor

@shiftyseaotter Great that you managed to refactor the tests to Arquillian. This will make the maintenance easier.

There are a few resolvable minor Sonar findings. Please address them if possible.

The tests are executing, so I assume the review is just about formal stuff. I will review that soon!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request migrates the webapp integration tests from the Cargo Maven plugin to Arquillian, harmonizing the test infrastructure with the existing engine integration tests. This change addresses issue #1573 by consolidating the testing approach across the project.

Changes:

  • Replaced Cargo-based webapp deployment with Arquillian managed containers for both Tomcat and WildFly
  • Restructured the integration tests module by consolidating integration-tests and shared-engine submodules into a single module
  • Created new arquillian-extensions module to share Arquillian lifecycle observers between engine and webapp tests
  • Updated package structure from org.operaton.bpm to org.operaton.bpm.integrationtest for test classes

Reviewed changes

Copilot reviewed 41 out of 44 changed files in this pull request and generated no comments.

Show a summary per file
File Description
qa/pom.xml Added arquillian-extensions module and version properties
qa/arquillian-extensions/** New module containing shared Arquillian extensions for testcontainers integration
qa/integration-tests-webapps/pom.xml Restructured from parent POM to single module with Tomcat/WildFly profiles
qa/integration-tests-webapps/src/test/resources/arquillian.xml New Arquillian configuration for Tomcat and WildFly containers
qa/integration-tests-webapps/src/test/java/** Updated package names and refactored base test classes to use Arquillian APIs
qa/integration-tests-webapps/shared-engine/** Removed - functionality consolidated into parent module
qa/integration-tests-webapps/integration-tests/** Removed - consolidated into parent module
qa/wildfly-runtime/src/main/wildfly/standalone/configuration/standalone.xml Added SameSite cookie filter for session security tests
qa/tomcat-runtime/src/main/conf/context.xml Added JarScanner configuration workaround
parent/pom.xml Downgraded Tomcat from 11.0.18 to 10.1.42 for Arquillian compatibility
qa/integration-tests-engine/pom.xml Moved Arquillian extension to shared module
distro/run/qa/** Updated to consume webapps test-jar and align with new package structure
Comments suppressed due to low confidence (2)

qa/integration-tests-webapps/README.md:6

  • Grammatical error: "You a build" should be "You need a build" or "A build".
    qa/integration-tests-webapps/README.md:5
  • Grammatical error: "it qa/pom.xml" should be "in qa/pom.xml".

@kthoms kthoms added refactoring Code enhancement without changing API or behaviour scope:tests Changes affecting only test code labels Feb 27, 2026
@kthoms kthoms added this to the 2.0.0-M4 milestone Feb 27, 2026

@javahippie javahippie left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, that's a huge effort and will help us a lot, thanks for doing this! I have two review comments, only the one about Tomcat is a concern. I guess that there is no arquillian-tomcat-managed-11, yet?

Comment thread parent/pom.xml
Comment thread qa/tomcat-runtime/src/main/conf/context.xml
@shiftyseaotter

Copy link
Copy Markdown
Contributor Author

@shiftyseaotter Great that you managed to refactor the tests to Arquillian. This will make the maintenance easier.

There are a few resolvable minor Sonar findings. Please address them if possible.

The tests are executing, so I assume the review is just about formal stuff. I will review that soon!

Sure, will adress all but the "ip" one :)

Comment thread qa/integration-tests-webapps/src/test/resources/arquillian.xml
Comment thread qa/integration-tests-webapps/src/test/resources/arquillian.xml
Comment thread qa/integration-tests-webapps/pom.xml Outdated
Comment thread qa/integration-tests-webapps/pom.xml Outdated
Comment thread qa/integration-tests-webapps/README.md
@kthoms

kthoms commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

@shiftyseaotter What is the current state? Please resolve the trivial conversations yourself when they are addressed.

When we are back on Tomcat 11 and everything is working as expected, we should be pretty close to finish this one.

@shiftyseaotter

Copy link
Copy Markdown
Contributor Author

@shiftyseaotter What is the current state? Please resolve the trivial conversations yourself when they are addressed.

When we are back on Tomcat 11 and everything is working as expected, we should be pretty close to finish this one.

Can you please review it again? Everything should be in order now. Except for random ports, which will be handled in separate issue

renamed test EmbeddedEngineRestWildflyTest to IT to indicate that it is an integration test

removes version of dependency plugin for wildfly profile

fixes for PR notes and Sonar issues

revert tomcat version back to 11.x since servlet-api 6.1.0 is used now

add correct operaton-qa-integration-tests-webapps  scope and classifier

Refactoring. Removed unused imports and methods

Refactoring. Removed duplicate variables, commented out parameters. Moved TestProperties to run due to it being the only place it is used now

consolidate runtime configuration parameters

added configuration of arquillian container from pom. Streamlined integration test modules, due to shared engine not needed anymore

tomcat support. downgraded tomcat runtime version to Jakarta 6.0.0 due to conflicts

#1573 draft solution, hardcoded wildfly.
@kthoms kthoms force-pushed the feature/1573-arquillian-cargo-replacement branch from cd2be5b to 78bd942 Compare March 20, 2026 04:34
@kthoms

kthoms commented Mar 20, 2026

Copy link
Copy Markdown
Contributor

Looks good. I have squashed and rebased your changes. Planning to merge them.

@sonarqubecloud

Copy link
Copy Markdown

@kthoms kthoms left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @shiftyseaotter for resolving this work

@kthoms kthoms merged commit 43b3128 into main Mar 20, 2026
17 checks passed
@kthoms kthoms deleted the feature/1573-arquillian-cargo-replacement branch April 22, 2026 20:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactoring Code enhancement without changing API or behaviour scope:tests Changes affecting only test code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rework Frontend Integration tests to use Arquillian instead of the Cargo Plugin

4 participants