X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2FtestUtils%2FManagedTest.java;h=0c81e370a2e6119d9381215f0225904531c9df92;hb=9031f0cf4327eaef9ede27f83cadf0b44833193c;hp=ed5f1eec2c831c4fbb5ac5511dcc3004ef33f0ef;hpb=e65588dc9fc539683882a4b52bacb93cfe551d5d;p=gigi.git diff --git a/tests/org/cacert/gigi/testUtils/ManagedTest.java b/tests/org/cacert/gigi/testUtils/ManagedTest.java index ed5f1eec..0c81e370 100644 --- a/tests/org/cacert/gigi/testUtils/ManagedTest.java +++ b/tests/org/cacert/gigi/testUtils/ManagedTest.java @@ -4,9 +4,13 @@ import static org.junit.Assert.*; import java.io.BufferedReader; import java.io.DataOutputStream; +import java.io.File; import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; @@ -30,6 +34,7 @@ import java.security.cert.X509Certificate; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.Locale; import java.util.Properties; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -40,10 +45,10 @@ import javax.net.ssl.SSLContext; import javax.net.ssl.X509KeyManager; import org.cacert.gigi.DevelLauncher; -import org.cacert.gigi.EmailAddress; import org.cacert.gigi.GigiApiException; -import org.cacert.gigi.User; import org.cacert.gigi.database.DatabaseConnection; +import org.cacert.gigi.dbObjects.EmailAddress; +import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.pages.account.MyDetails; import org.cacert.gigi.pages.main.RegisterPage; @@ -73,6 +78,12 @@ public class ManagedTest { private static String url = "localhost:4443"; + private static String acceptLanguage = null; + + public static void setAcceptLanguage(String acceptLanguage) { + ManagedTest.acceptLanguage = acceptLanguage; + } + public static String getServerName() { return url; } @@ -202,6 +213,11 @@ public class ManagedTest { ter.reset(); } + @After + public void clearAcceptLanguage() { + acceptLanguage = null; + } + public TestMail waitForMail() { try { return ter.recieve(); @@ -218,6 +234,10 @@ public class ManagedTest { URL regist = new URL("https://" + getServerName() + RegisterPage.PATH); HttpURLConnection uc = (HttpURLConnection) regist.openConnection(); HttpURLConnection csrfConn = (HttpURLConnection) regist.openConnection(); + if (acceptLanguage != null) { + csrfConn.setRequestProperty("Accept-Language", acceptLanguage); + uc.setRequestProperty("Accept-Language", acceptLanguage); + } String headerField = csrfConn.getHeaderField("Set-Cookie"); headerField = stripCookie(headerField); @@ -426,7 +446,26 @@ public class ManagedTest { public static KeyPair generateKeypair() throws GeneralSecurityException { KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); kpg.initialize(4096); - return kpg.generateKeyPair(); + KeyPair keyPair = null; + File f = new File("testKeypair"); + if (f.exists()) { + try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(f))) { + keyPair = (KeyPair) ois.readObject(); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } else { + keyPair = kpg.generateKeyPair(); + try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f))) { + oos.writeObject(keyPair); + oos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return keyPair; } public static String generatePEMCSR(KeyPair kp, String dn) throws GeneralSecurityException, IOException { @@ -467,10 +506,10 @@ public class ManagedTest { } public static EmailAddress createVerifiedEmail(User u) throws InterruptedException, GigiApiException { - EmailAddress adrr = new EmailAddress(createUniqueName() + "test@test.tld", u); - adrr.insert(Language.getInstance("en")); + EmailAddress adrr = new EmailAddress(u, createUniqueName() + "test@test.tld"); + adrr.insert(Language.getInstance(Locale.ENGLISH)); TestMail testMail = getMailReciever().recieve(); - assertTrue(adrr.getAddress().equals(testMail.getTo())); + assertEquals(adrr.getAddress(), testMail.getTo()); String hash = testMail.extractLink().substring(testMail.extractLink().lastIndexOf('=') + 1); adrr.verify(hash); getMailReciever().clearMails();