I´m using arquillian with TestNg to test my reports generator class, i created a report file to test the method and put it in /test/resources/ directory but i don't know how to pass the path to my method.
The method is like this:
public void generateReport(final String reportName, final ReportType reportType, final List<Object> data, final Map<String, Object> parameters) {
JasperPrint jasperPrint = JasperFillManager.fillReport(report.getPath() + "/" + report.getName() + ".jasper", report.getParameters(), collectionDataSource);
}
The path is a String in web I use getExternalContext().getRealPath, but I need the resources path for test.
I tried to add the report file as a resource in arquillian and give "" for path, but it's not works.
Test method:
@Test
public void shouldGenerateReport() throws ReportException, AccessDeniedException {
report = new Report("testReport", ReportType.PDF, "", new ArrayList<>(), null);
ByteArrayOutputStream stream = reportService.generateReport(report);
Assert.assertNotNull(stream);
}