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)

Reply via email to