Skip to content

WW-5734 test(jasperreports7): run the plugin end-to-end on an embedded Tomcat - #1924

Merged
lukaszlenart merged 1 commit into
mainfrom
WW-5734-tomcat-it
Sep 12, 2026
Merged

WW-5734 test(jasperreports7): run the plugin end-to-end on an embedded Tomcat#1924
lukaszlenart merged 1 commit into
mainfrom
WW-5734-tomcat-it

Conversation

@lukaszlenart

Copy link
Copy Markdown
Member

Fixes WW-5734

Why

The jasperreports7 plugin had never been exercised outside Spring's MockHttpServletResponse — no sample app uses it — which is how WW-5731, WW-5732 and WW-5733 (every export an empty 200 on Tomcat) shipped unnoticed since 7.1.0. The showcase can't host an example: JasperReports is LGPL and the showcase WAR is part of the release assembly (the previous example was removed for that reason in 2006).

What

JasperReport7TomcatTest boots Struts on tomcat-embed-core (test scope, 10.1.55, bound to 127.0.0.1 on a random port), compiles the existing simple.jrxml into the webapp's docBase under target/, and issues a real HTTP GET /report.action?format=… for each of the six bundled formats, asserting status, content type and payload (%PDF, {\rtf, PK, or the rendered text). Runs in ~1 s as part of the module's normal surefire run, under both the default and the jakartaee11 profile.

With the exporter providers reverted to their pre-WW-5733 state, all six assertions fail with an empty body — the real container symptom the mock could not show.

Test-only change: nothing here reaches the plugin jar or the assembly (runtime dependency sets), and the OWASP profile skips test scope.

🤖 Generated with Claude Code

…d Tomcat

The plugin had never been exercised outside Spring's mock response, which
is how WW-5731, WW-5732 and WW-5733 went unnoticed since 7.1.0. The
showcase cannot host an example because JasperReports is LGPL and the
showcase WAR ships in the release assembly.

JasperReport7TomcatTest boots Struts on tomcat-embed-core (test scope),
compiles the existing simple.jrxml into the webapp's docBase and asserts
that a real HTTP request returns a non-empty body of the right content
type for each of the six bundled formats. Against the providers as they
were before WW-5733 all six assertions fail with an empty body.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@lukaszlenart
lukaszlenart marked this pull request as ready for review September 12, 2026 13:36
@lukaszlenart
lukaszlenart merged commit f7a23c9 into main Sep 12, 2026
13 checks passed
@lukaszlenart
lukaszlenart deleted the WW-5734-tomcat-it branch September 12, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant