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 }