]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/testUtils/ManagedTest.java
Merge "Update notes about password security"
[gigi.git] / tests / org / cacert / gigi / testUtils / ManagedTest.java
index bd35e821324dc0eff83b2d23be45f422258ac4f1..9f22edf1940493f53af1c3900122fc0a5426beeb 100644 (file)
@@ -35,10 +35,10 @@ import javax.net.ssl.X509KeyManager;
 
 import org.cacert.gigi.DevelLauncher;
 import org.cacert.gigi.GigiApiException;
-import org.cacert.gigi.database.DatabaseConnection;
 import org.cacert.gigi.database.GigiPreparedStatement;
 import org.cacert.gigi.database.GigiResultSet;
 import org.cacert.gigi.database.SQLFileManager.ImportType;
+import org.cacert.gigi.dbObjects.CATS;
 import org.cacert.gigi.dbObjects.Domain;
 import org.cacert.gigi.dbObjects.DomainPingType;
 import org.cacert.gigi.dbObjects.EmailAddress;
@@ -71,6 +71,8 @@ public class ManagedTest extends ConfiguredTest {
      */
     public static final String TEST_PASSWORD = "xvXV12°§";
 
+    public static final String DIFFICULT_CHARS = "ÜÖÄß𐀀";
+
     private static TestEmailReceiver ter;
 
     private static Process gigi;
@@ -259,7 +261,7 @@ public class ManagedTest extends ConfiguredTest {
 
     public static void registerUser(String firstName, String lastName, String email, String password) {
         try {
-            String query = "fname=" + URLEncoder.encode(firstName, "UTF-8") + "&lname=" + URLEncoder.encode(lastName, "UTF-8") + "&email=" + URLEncoder.encode(email, "UTF-8") + "&pword1=" + URLEncoder.encode(password, "UTF-8") + "&pword2=" + URLEncoder.encode(password, "UTF-8") + "&day=1&month=1&year=1910&cca_agree=1";
+            String query = "fname=" + URLEncoder.encode(firstName, "UTF-8") + "&lname=" + URLEncoder.encode(lastName, "UTF-8") + "&email=" + URLEncoder.encode(email, "UTF-8") + "&pword1=" + URLEncoder.encode(password, "UTF-8") + "&pword2=" + URLEncoder.encode(password, "UTF-8") + "&day=1&month=1&year=1910&tos_agree=1";
             String data = fetchStartErrorMessage(runRegister(query));
             assertNull(data);
         } catch (UnsupportedEncodingException e) {
@@ -274,10 +276,10 @@ public class ManagedTest extends ConfiguredTest {
         try {
             ter.receive().verify();
 
-            GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT `id` FROM `users` WHERE `email`=?");
-            ps.setString(1, email);
+            try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT `id` FROM `users` WHERE `email`=?")) {
+                ps.setString(1, email);
 
-            try (GigiResultSet rs = ps.executeQuery()) {
+                GigiResultSet rs = ps.executeQuery();
                 if (rs.next()) {
                     return rs.getInt(1);
                 }
@@ -319,15 +321,17 @@ public class ManagedTest extends ConfiguredTest {
     }
 
     public static void makeAssurer(int uid) {
-        GigiPreparedStatement ps1 = DatabaseConnection.getInstance().prepare("INSERT INTO `cats_passed` SET `user_id`=?, `variant_id`=?");
-        ps1.setInt(1, uid);
-        ps1.setInt(2, 1);
-        ps1.execute();
+        try (GigiPreparedStatement ps1 = new GigiPreparedStatement("INSERT INTO `cats_passed` SET `user_id`=?, `variant_id`=?")) {
+            ps1.setInt(1, uid);
+            ps1.setInt(2, CATS.ASSURER_CHALLENGE_ID);
+            ps1.execute();
+        }
 
-        GigiPreparedStatement ps2 = DatabaseConnection.getInstance().prepare("INSERT INTO `notary` SET `from`=?, `to`=?, points='100'");
-        ps2.setInt(1, uid);
-        ps2.setInt(2, uid);
-        ps2.execute();
+        try (GigiPreparedStatement ps2 = new GigiPreparedStatement("INSERT INTO `notary` SET `from`=?, `to`=?, points='100'")) {
+            ps2.setInt(1, uid);
+            ps2.setInt(2, uid);
+            ps2.execute();
+        }
     }
 
     protected static String stripCookie(String headerField) {
@@ -392,14 +396,14 @@ public class ManagedTest extends ConfiguredTest {
             @Override
             public X509Certificate[] getCertificateChain(String arg0) {
                 return new X509Certificate[] {
-                    ce
+                        ce
                 };
             }
 
             @Override
             public String[] getClientAliases(String arg0, Principal[] arg1) {
                 return new String[] {
-                    "client"
+                        "client"
                 };
             }
 
@@ -414,13 +418,13 @@ public class ManagedTest extends ConfiguredTest {
             @Override
             public String[] getServerAliases(String arg0, Principal[] arg1) {
                 return new String[] {
-                    "client"
+                        "client"
                 };
             }
         };
         SSLContext sc = SSLContext.getInstance("TLS");
         sc.init(new KeyManager[] {
-            km
+                km
         }, null, null);
         if (connection instanceof HttpsURLConnection) {
             ((HttpsURLConnection) connection).setSSLSocketFactory(sc.getSocketFactory());
@@ -467,13 +471,13 @@ public class ManagedTest extends ConfiguredTest {
         uc.setDoOutput(true);
         OutputStream os = uc.getOutputStream();
         os.write(("csrf=" + URLEncoder.encode(csrf, "UTF-8") + "&" //
-        + query//
+                + query//
         ).getBytes("UTF-8"));
         os.flush();
         return (HttpURLConnection) uc;
     }
 
-    public HttpURLConnection get(String cookie, String path) throws IOException {
+    public static HttpURLConnection get(String cookie, String path) throws IOException {
         URLConnection uc = new URL("https://" + getServerName() + path).openConnection();
         uc.addRequestProperty("Cookie", cookie);
         return (HttpURLConnection) uc;