]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/template/TestTemplateMail.java
add: mail templates support
[gigi.git] / tests / org / cacert / gigi / template / TestTemplateMail.java
1 package org.cacert.gigi.template;
2
3 import static org.junit.Assert.*;
4
5 import java.io.IOException;
6 import java.io.StringReader;
7 import java.util.HashMap;
8 import java.util.Locale;
9
10 import org.cacert.gigi.localisation.Language;
11 import org.cacert.gigi.output.template.MailTemplate;
12 import org.cacert.gigi.testUtils.BusinessTest;
13 import org.cacert.gigi.testUtils.TestEmailReceiver.TestMail;
14 import org.junit.Test;
15
16 public class TestTemplateMail extends BusinessTest {
17
18     private static final String TEST_MAIL = "test@mail.com";
19
20     private void testExecuteMail(HashMap<String, Object> vars, String input) throws IOException {
21         MailTemplate t = new MailTemplate(new StringReader(input));
22         t.sendMail(Language.getInstance(Locale.ENGLISH), vars, TEST_MAIL);
23     }
24
25     HashMap<String, Object> vars = new HashMap<>();
26
27     @Test
28     public void testSimple() throws IOException {
29         vars.put("var", "val");
30         testExecuteMail(vars, "Subject: subj\n\n<?=$var?>l");
31         TestMail tm = getMailReceiver().receive();
32         assertEquals(MailTemplate.SUBJECT_TAG + "subj", tm.getSubject());
33         assertEquals("vall", tm.getMessage());
34     }
35
36     @Test
37     public void testVarNoEscape() throws IOException {
38         vars.put("var", "val\">");
39         vars.put("var2", "sl\">");
40         testExecuteMail(vars, "Subject: a<?=$var?>b\n\n<?=$var2?>l");
41         TestMail tm = getMailReceiver().receive();
42         assertEquals(MailTemplate.SUBJECT_TAG + "aval\">b", tm.getSubject());
43         assertEquals("sl\">l", tm.getMessage());
44
45     }
46
47     @Test
48     public void testTranslate() throws IOException {
49         testExecuteMail(vars, "Subject: a<?=_a<?>b\n\nc<?=_b\"?>l");
50         TestMail tm = getMailReceiver().receive();
51         assertEquals(MailTemplate.SUBJECT_TAG + "aa<b", tm.getSubject());
52         assertEquals("cb\"l", tm.getMessage());
53
54     }
55 }