View Javadoc
1   /*
2    * #%L
3    * IsisFish
4    * 
5    * $Id: ExportStorageTest.java 4156 2014-12-09 11:27:18Z echatellier $
6    * $HeadURL: https://svn.codelutin.com/isis-fish/tags/isis-fish-4.4.0.2/src/test/java/fr/ifremer/isisfish/datastore/ExportStorageTest.java $
7    * %%
8    * Copyright (C) 2009 - 2012 Ifremer, CodeLutin, Chatellier Eric
9    * %%
10   * This program is free software: you can redistribute it and/or modify
11   * it under the terms of the GNU General Public License as
12   * published by the Free Software Foundation, either version 3 of the 
13   * License, or (at your option) any later version.
14   * 
15   * This program is distributed in the hope that it will be useful,
16   * but WITHOUT ANY WARRANTY; without even the implied warranty of
17   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18   * GNU General Public License for more details.
19   * 
20   * You should have received a copy of the GNU General Public 
21   * License along with this program.  If not, see
22   * <http://www.gnu.org/licenses/gpl-3.0.html>.
23   * #L%
24   */
25  
26  package fr.ifremer.isisfish.datastore;
27  
28  import java.io.StringWriter;
29  import java.io.Writer;
30  import java.util.Date;
31  import java.util.HashMap;
32  import java.util.Map;
33  
34  import org.junit.Assert;
35  import org.junit.Before;
36  import org.junit.Test;
37  
38  import fr.ifremer.isisfish.AbstractIsisFishTest;
39  import fr.ifremer.isisfish.IsisFish;
40  import fr.ifremer.isisfish.datastore.CodeSourceStorage.Location;
41  import freemarker.template.Configuration;
42  import freemarker.template.Template;
43  
44  /**
45   * ExportStorageTest.
46   * 
47   * Created: 7 août 2006 11:07:57
48   *
49   * @author poussin
50   * @version $Revision: 4156 $
51   *
52   * Last update: $Date: 2014-12-09 12:27:18 +0100 (Tue, 09 Dec 2014) $
53   * by : $Author: echatellier $
54   */
55  public class ExportStorageTest extends AbstractIsisFishTest {
56  
57      protected Configuration freemarkerConfiguration;
58  
59      @Before
60      public void setUp() throws Exception {
61          freemarkerConfiguration = getFreemarkerConfiguration();
62      }
63  
64      @Test
65      public void testNewExportWithCompilation() throws Exception {
66  
67          String fileName = "TestExport1";
68  
69          ExportStorage exportStorage = ExportStorage.createExport(fileName, Location.COMMUNITY);
70  
71          // get template
72          Template template = freemarkerConfiguration
73                  .getTemplate(ExportStorage.EXPORT_TEMPLATE);
74  
75          // context values
76          Map<String, Object> root = new HashMap<String, Object>();
77          // FIXME what is category ?
78          root.put("category", "");
79          root.put("name", fileName);
80          root.put("date", new Date());
81          root.put("author", IsisFish.config.getUserName());
82          root.put("email", IsisFish.config.getUserMail());
83  
84          // process template
85          Writer out = new StringWriter();
86          template.process(root, out);
87          out.flush();
88          exportStorage.setContent(out.toString());
89  
90          // 0 = compile success
91          int compileResult = exportStorage.compile(false, null);
92          Assert.assertEquals(0, compileResult);
93      }
94  
95  }