1   /*
2    * TextReportTest.java
3    * Created on 30 Август 2006 г., 11:41
4    */
5   
6   package org.weda.report;
7   
8   import java.io.FileOutputStream;
9   import java.io.InputStream;
10  import java.sql.Date;
11  import org.apache.commons.io.IOUtils;
12  import org.weda.ObjectStoreTestCase;
13  import org.weda.domain.Company;
14  
15  /**
16   *
17   * @author Mikhail Titov
18   */
19  public class TextReportTest extends ObjectStoreTestCase{
20      
21      public TextReportTest(String name) throws Exception {
22          super(name);
23      }
24      
25      public void test() throws Exception {
26          Company comp = new Company();
27          comp.setName("ОАО Рога и Копыта");
28          comp.setFoundationDate(new Date(System.currentTimeMillis()));
29          comp.setComment("Комментарий к ОАО Рога и Копыта Комментарий к ОАО Рога и Копыта Комментарий к ОАО Рога и Копыта");
30          store.save(comp);
31          
32          comp = new Company();
33          comp.setName("ОАО Копыта и Рога и Хвост");
34          comp.setFoundationDate(new Date(System.currentTimeMillis()));
35          comp.setComment("Комментарий к ОАО Копыта и Рога и Хвост");
36          store.save(comp);
37          //
38          ReportRegistry reportRegistry = 
39                  (ReportRegistry)registry.getService(ReportRegistry.class);
40          Report rep = reportRegistry.getReport("test", "company");
41          assertNotNull(rep);
42          
43          InputStream is =rep.generate();
44          assertNotNull(is);
45          FileOutputStream fos = 
46                  new FileOutputStream("target/temp/text-report1.csv");
47          IOUtils.copy(is, fos);
48          fos.close();
49          //
50          rep = reportRegistry.getReport("test", "company2");
51          assertNotNull(rep);
52          
53          is =rep.generate();
54          assertNotNull(is);
55          fos = new FileOutputStream("target/temp/text-report2.csv");
56          IOUtils.copy(is, fos);
57          fos.close();
58      }
59      
60  }