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