]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/TestLanguage.java
Move the "dbObject"s to their own package.
[gigi.git] / tests / org / cacert / gigi / TestLanguage.java
1 package org.cacert.gigi;
2
3 import static org.junit.Assert.*;
4
5 import java.io.IOException;
6 import java.net.URL;
7 import java.util.Locale;
8
9 import org.cacert.gigi.dbObjects.User;
10 import org.cacert.gigi.localisation.Language;
11 import org.cacert.gigi.testUtils.IOUtils;
12 import org.cacert.gigi.testUtils.ManagedTest;
13
14 import static org.hamcrest.CoreMatchers.*;
15
16 import org.junit.Test;
17
18 public class TestLanguage extends ManagedTest {
19
20     @Test
21     public void testSignupNoLanguage() {
22         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
23         assertEquals(Locale.ENGLISH, u.getPreferredLocale());
24     }
25
26     @Test
27     public void testSignupDE() {
28         setAcceptLanguage("de");
29         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
30         assertEquals(Locale.GERMAN, u.getPreferredLocale());
31     }
32
33     @Test
34     public void testSignupMulti() {
35         setAcceptLanguage("de,en");
36         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
37         assertEquals(Locale.GERMAN, u.getPreferredLocale());
38     }
39
40     @Test
41     public void testSignupFallback() {
42         setAcceptLanguage("ma,de");
43         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
44         assertEquals(Locale.GERMAN, u.getPreferredLocale());
45     }
46
47     @Test
48     public void testSignupProjection() {
49         setAcceptLanguage("de-de,en");
50         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
51         assertEquals(Locale.GERMAN, u.getPreferredLocale());
52     }
53
54     @Test
55     public void testSelectStandard() throws IOException {
56         String content = IOUtils.readURL(new URL("https://" + getServerName() + "/").openConnection());
57         assertThat(content, containsString("Translations"));
58     }
59
60     @Test
61     public void testSelectGerman() throws IOException {
62         String content = IOUtils.readURL(new URL("https://" + getServerName() + "/?lang=de").openConnection());
63         assertThat(content, containsString(Language.getInstance(Locale.GERMAN).getTranslation("Translations")));
64     }
65
66     @Test
67     public void testLanguageAfterLogin() throws IOException {
68         setAcceptLanguage("de,en");
69         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
70         String cookie = login(u.getEmail(), TEST_PASSWORD);
71         String content = IOUtils.readURL(cookie(new URL("https://" + getServerName() + "/").openConnection(), cookie));
72         assertThat(content, containsString(Language.getInstance(Locale.GERMAN).getTranslation("Translations")));
73     }
74
75     @Test
76     public void testOtherLanguageAfterLogin() throws IOException {
77         setAcceptLanguage("fr,de,en");
78         User u = new User(createVerifiedUser("fname", "lname", createUniqueName() + "@example.org", TEST_PASSWORD));
79         String cookie = login(u.getEmail(), TEST_PASSWORD);
80         String content = IOUtils.readURL(cookie(new URL("https://" + getServerName() + "/").openConnection(), cookie));
81         assertThat(content, containsString(Language.getInstance(Locale.FRENCH).getTranslation("Translations")));
82     }
83 }