View Javadoc
1   /*
2    * #%L
3    * IsisFish
4    * 
5    * $Id: FormuleStorageTest.java 4291 2015-06-24 08:04:58Z echatellier $
6    * $HeadURL: https://svn.codelutin.com/isis-fish/tags/isis-fish-4.4.0.2/src/test/java/fr/ifremer/isisfish/datastore/FormuleStorageTest.java $
7    * %%
8    * Copyright (C) 2009 - 2010 Ifremer, CodeLutin
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.Before;
35  import org.junit.Test;
36  
37  import fr.ifremer.isisfish.AbstractIsisFishTest;
38  import fr.ifremer.isisfish.IsisFish;
39  import freemarker.template.Configuration;
40  import freemarker.template.Template;
41  
42  /**
43   * FormuleStorageTest.
44   * 
45   * Created: 7 août 2006 11:07:57
46   *
47   * @author poussin
48   * @version $Revision: 4291 $
49   *
50   * Last update: $Date: 2015-06-24 10:04:58 +0200 (Wed, 24 Jun 2015) $
51   * by : $Author: echatellier $
52   */
53  public class FormuleStorageTest extends AbstractIsisFishTest {
54  
55      protected Configuration freemarkerConfiguration;
56  
57      @Before
58      public void setUp() throws Exception {
59          freemarkerConfiguration = getFreemarkerConfiguration();
60      }
61  
62      @Test
63      public void testNewFormuleWithCompilation() throws Exception {
64  
65          String fileName = "TestFormule1";
66  
67          FormuleStorage formuleStorage = FormuleStorage.getFormule("test",
68                  fileName);
69  
70          // get template
71          Template template = freemarkerConfiguration
72                  .getTemplate(FormuleStorage.FORMULE_TEMPLATE);
73  
74          // context values
75          Map<String, Object> root = new HashMap<>();
76          root.put("category", "");
77          root.put("name", fileName);
78          root.put("date", new Date());
79          root.put("author", IsisFish.config.getUserName());
80          root.put("email", IsisFish.config.getUserMail());
81  
82          // process template
83          Writer out = new StringWriter();
84          template.process(root, out);
85          out.flush();
86          formuleStorage.setContent(out.toString());
87  
88          // 0 = compile success
89          // FIXME test with compile helper
90          //int compileResult = formuleStorage.compile(false, null);
91          //Assert.assertEquals(0, compileResult);
92      }
93  
94  }