You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (Jira)" <ji...@apache.org> on 2026/09/12 12:36:00 UTC

[jira] [Created] (WW-5734) Run the JasperReports 7 plugin end-to-end on an embedded Tomcat in its test suite

Lukasz Lenart created WW-5734:
---------------------------------

             Summary: Run the JasperReports 7 plugin end-to-end on an embedded Tomcat in its test suite
                 Key: WW-5734
                 URL: https://issues.apache.org/jira/browse/WW-5734
             Project: Struts 2
          Issue Type: Task
          Components: Plugin - JasperReports
            Reporter: Lukasz Lenart
             Fix For: 7.4.0


{{struts2-jasperreports7-plugin}} shipped in 7.1.0 and has never been exercised end-to-end: no sample application uses it, and its unit tests drive {{JasperReport7Result}} against Spring's {{MockHttpServletResponse}}, which does not model container behaviour. That is how WW-5731 (single-line CSV), WW-5732 (case-sensitive format lookup) and WW-5733 (every export an empty {{200}} on Tomcat) went unnoticed for four minor releases.

Adding the plugin to the showcase is not an option: JasperReports is LGPL (ASF Category X) and the showcase WAR is part of the release assembly — the previous showcase example was removed for exactly that reason in 2006.

Add an integration test to the plugin module instead: boot Struts on {{tomcat-embed-core}} (test scope, so the LGPL dependency is not distributed), configure a package extending {{jasperreports7-default}} with an action returning a {{jasperReport7}} result over a compiled {{.jrxml}}, and assert that a real HTTP request returns a non-empty body of the expected content type for each bundled format. The test stays in the module's surefire run so CI exercises the plugin on every build.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)