]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/testUtils/ManagedTest.java
Remove startup output of managed tests.
[gigi.git] / tests / org / cacert / gigi / testUtils / ManagedTest.java
index ce60a295832584c5c6b282af91bee8ae1de52838..9a545323b9eda28fc85f351ec673e2fe118d7458 100644 (file)
@@ -13,6 +13,7 @@ import java.io.UnsupportedEncodingException;
 import java.net.HttpURLConnection;
 import java.net.InetSocketAddress;
 import java.net.URL;
+import java.net.URLConnection;
 import java.net.URLEncoder;
 import java.nio.file.Files;
 import java.nio.file.Paths;
@@ -20,6 +21,8 @@ import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.Properties;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.cacert.gigi.DevelLauncher;
 import org.cacert.gigi.database.DatabaseConnection;
@@ -67,13 +70,19 @@ public class ManagedTest {
                                                Integer.parseInt(parts[1])));
                                return;
                        }
-                       url = "localhost:" + testProps.getProperty("serverPort");
+                       url = testProps.getProperty("name.www") + ":"
+                                       + testProps.getProperty("serverPort");
                        gigi = Runtime.getRuntime().exec(testProps.getProperty("java"));
                        DataOutputStream toGigi = new DataOutputStream(
                                        gigi.getOutputStream());
                        System.out.println("... starting server");
                        Properties mainProps = new Properties();
                        mainProps.setProperty("host", "127.0.0.1");
+                       mainProps.setProperty("name.secure", "sec");
+                       mainProps
+                                       .setProperty("name.www", testProps.getProperty("name.www"));
+                       mainProps.setProperty("name.static", "stat");
+
                        mainProps.setProperty("port", testProps.getProperty("serverPort"));
                        mainProps.setProperty("emailProvider",
                                        "org.cacert.gigi.email.TestEmailProvider");
@@ -91,21 +100,15 @@ public class ManagedTest {
                        byte[] keystore = Files.readAllBytes(Paths
                                        .get("config/keystore.pkcs12"));
 
-                       DevelLauncher.writeGigiConfig(toGigi, new byte[]{},
+                       DevelLauncher.writeGigiConfig(toGigi, "changeit".getBytes(),
                                        "changeit".getBytes(), mainProps, cacerts, keystore);
                        toGigi.flush();
-                       // TODO wait for ready
-                       try {
-                               Thread.sleep(3000);
-                       } catch (InterruptedException e) {
-                               e.printStackTrace();
-                       }
+
                        final BufferedReader br = new BufferedReader(new InputStreamReader(
                                        gigi.getErrorStream()));
                        String line;
                        while ((line = br.readLine()) != null
                                        && !line.contains("Server:main: Started")) {
-                               System.err.println(line);
                        }
                        new Thread() {
                                @Override
@@ -120,7 +123,6 @@ public class ManagedTest {
                                        }
                                }
                        }.start();
-                       System.err.println(line);
                        if (line == null) {
                                throw new Error("Server startup failed");
                        }
@@ -138,12 +140,12 @@ public class ManagedTest {
        @AfterClass
        public static void tearDownServer() {
                String type = testProps.getProperty("type");
+               ter.destroy();
                if (type.equals("local")) {
                        return;
                }
                gigi.destroy();
        }
-
        @After
        public void removeMails() {
                ter.reset();
@@ -219,6 +221,20 @@ public class ManagedTest {
                        throw new Error(e);
                }
        }
+       /**
+        * Creates a new user with 100 Assurance points given by an (invalid)
+        * assurance.
+        * 
+        * @param firstName
+        *            the first name
+        * @param lastName
+        *            the last name
+        * @param email
+        *            the email
+        * @param password
+        *            the password
+        * @return a new userid.
+        */
        public int createAssuranceUser(String firstName, String lastName,
                        String email, String password) {
                int uid = createVerifiedUser(firstName, lastName, email, password);
@@ -258,4 +274,14 @@ public class ManagedTest {
                headerField = headerField.substring(0, headerField.indexOf(';'));
                return headerField;
        }
+
+       public String getCSRF(URLConnection u) throws IOException {
+               String content = IOUtils.readURL(u);
+               Pattern p = Pattern.compile("<input type='csrf' value='([^']+)'>");
+               Matcher m = p.matcher(content);
+               if (!m.find()) {
+                       throw new Error("New CSRF Token");
+               }
+               return m.group(1);
+       }
 }