Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.jleaf.report.test;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.InputStream;
- import org.jleaf.core.Dto;
- import org.jleaf.report.component.ReportConfigFactory;
- import org.jleaf.report.component.ReportDataProvider;
- import org.jleaf.report.component.ReportGenerator;
- import org.jleaf.report.util.IOUtil;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.jdbc.core.JdbcTemplate;
- import org.springframework.test.context.ContextConfiguration;
- import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
- import org.springframework.test.context.transaction.TransactionConfiguration;
- import org.springframework.transaction.annotation.Transactional;
- @RunWith(SpringJUnit4ClassRunner.class)
- @ContextConfiguration(locations = { "classpath:test-jleaf-report-context.xml" })
- @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
- @Transactional
- public class TestReportGenerator {
- private static final Logger log = LoggerFactory
- .getLogger(TestReportGenerator.class);
- @Autowired
- JdbcTemplate jdbcTemplate;
- @Autowired
- ReportDataProvider reportDataProvider;
- @Autowired
- ReportConfigFactory reportConfigFactory;
- @Autowired
- ReportGenerator reportGenerator;
- @Test
- public void testSuccess(){
- Dto inputDto = new Dto();
- Dto headerDto = new Dto();
- Dto bodyDto = new Dto();
- Dto paramDto = new Dto();
- String datetime = "20170815100100";
- String sessionId = "SESSIONID";
- Long tenantId = 10L;
- Long userId = 10L;
- Long roleId = 10L;
- Long invoiceArBalanceId = 11L;
- String reportName = "ReportFuntionTest1";
- headerDto.put("tenantLoginId", tenantId);
- headerDto.put("roleLoginId", roleId);
- headerDto.put("userLoginId", userId);
- headerDto.put("datetime", datetime);
- headerDto.put("sessionId", "Sessionsgdsg");
- headerDto.put("userLoginName", "frediansah");
- headerDto.put("roleLoginName", "Admin");
- paramDto.put("tenantId", tenantId);
- paramDto.put("sessionId", sessionId);
- paramDto.put("invoiceArBalanceId", invoiceArBalanceId);
- paramDto.put("userId", userId);
- paramDto.put("datetime", datetime);
- bodyDto.put("reportName", reportName);
- bodyDto.put("fileName", "ReportFuntionTest1_01.xlsx");
- bodyDto.put("params", paramDto);
- inputDto.put("header", headerDto);
- inputDto.put("body", bodyDto);
- try{
- String str = IOUtil.readResourceToString("scripts/testFunctionCaller.sql");
- log.debug("execute script : "+str);
- jdbcTemplate.execute(str);
- InputStream is = reportGenerator.generateReport(
- reportConfigFactory.getConfig(reportName),
- inputDto);
- log.debug("Input stream output : "+is);
- File output = new File("test-report-generatort.xlsx");
- FileOutputStream fos = new FileOutputStream(output);
- byte[] buffer = new byte[256];
- int read = 0;
- while( (read = is.read( buffer ))!=-1 ){
- fos.write( buffer, 0, read );
- fos.flush();
- }
- is.close();
- fos.close();
- } catch(Exception e){
- log.error("error", e);
- org.junit.Assert.fail(e.toString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement