/* vim: set ts=2 et sw=2 cindent fo=qroca: */ package com.globant.katari.report.domain; import junit.framework.TestCase; import com.globant.katari.report.ReportsTestSupport; /** * Tests Report Definition. * @author gerardo.bercovich */ public class ReportDefinitionTest extends TestCase { /** Tests parsing of the XML file. */ public void testXMLParameterParsing() throws Exception { // Creates a not initialized repository. The following call does not really // need arepo, so it does not matter. ReportDefinition rd = new ReportDefinition("Test_report", "description", ReportsTestSupport.getSampleReportBytes()); assertEquals(4, rd.getParameterDefinitions().size()); } public void testGetParameterDefinitions_reload() throws Exception { String report2 = "<?xml version='1.0' encoding='UTF-8' ?>" + "<!DOCTYPE jasperReport PUBLIC '//JasperReports//DTD" + " Report Design//EN'" + " 'http://jasperreports.sourceforge.net/dtds/jasperreport.dtd'>" + "<jasperReport name='test'>" + "<parameter name='p_1' isForPrompting='true' class='java.lang.String'/>" + "<parameter name='p_2' isForPrompting='true' class='java.lang.String'/>" + "</jasperReport>"; ReportDefinition rd = new ReportDefinition("Test_report", "description", report2.getBytes()); assertEquals(2, rd.getParameterDefinitions().size()); String report1 = "<?xml version='1.0' encoding='UTF-8' ?>" + "<!DOCTYPE jasperReport PUBLIC '//JasperReports//DTD" + " Report Design//EN'" + " 'http://jasperreports.sourceforge.net/dtds/jasperreport.dtd'>" + "<jasperReport name='test'>" + "<parameter name='p_1' isForPrompting='true' class='java.lang.String'/>" + "</jasperReport>"; rd.setReportContent(report1.getBytes()); assertEquals(1, rd.getParameterDefinitions().size()); } }