]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/testUtils/ConfiguredTest.java
add: check that verification date is not far in the past
[gigi.git] / tests / org / cacert / gigi / testUtils / ConfiguredTest.java
index 808ddd678486dd0784e340d281aca7add3e3a4a1..dcd39906a434f0b3fb09f937569516d3600c2def 100644 (file)
@@ -13,6 +13,9 @@ import java.security.KeyPair;
 import java.security.KeyPairGenerator;
 import java.security.Signature;
 import java.sql.SQLException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
 import java.util.Properties;
 import java.util.TimeZone;
 import java.util.regex.Matcher;
@@ -26,9 +29,11 @@ import org.cacert.gigi.database.SQLFileManager.ImportType;
 import org.cacert.gigi.dbObjects.CATS.CATSType;
 import org.cacert.gigi.dbObjects.Domain;
 import org.cacert.gigi.dbObjects.DomainPingType;
+import org.cacert.gigi.dbObjects.User;
 import org.cacert.gigi.testUtils.TestEmailReceiver.TestMail;
 import org.cacert.gigi.util.DatabaseManager;
 import org.cacert.gigi.util.DomainAssessment;
+import org.cacert.gigi.util.Notary;
 import org.cacert.gigi.util.PEM;
 import org.cacert.gigi.util.ServerConstants;
 import org.junit.BeforeClass;
@@ -170,7 +175,7 @@ public abstract class ConfiguredTest {
     }
 
     public static void makeAssurer(int uid) {
-        try (GigiPreparedStatement ps1 = new GigiPreparedStatement("INSERT INTO cats_passed SET user_id=?, variant_id=?, language='en_EN', version=1")) {
+        try (GigiPreparedStatement ps1 = new GigiPreparedStatement("INSERT INTO cats_passed SET user_id=?, variant_id=?, language='en_EN', version='1'")) {
             ps1.setInt(1, uid);
             ps1.setInt(2, CATSType.ASSURER_CHALLENGE.getId());
             ps1.execute();
@@ -178,19 +183,19 @@ public abstract class ConfiguredTest {
 
         try (GigiPreparedStatement ps2 = new GigiPreparedStatement("INSERT INTO `notary` SET `from`=?, `to`=?, points='100'")) {
             ps2.setInt(1, uid);
-            ps2.setInt(2, uid);
+            ps2.setInt(2, User.getById(uid).getPreferredName().getId());
             ps2.execute();
         }
     }
 
-    public MailReceiver getMailReciever() {
+    public MailReceiver getMailReceiver() {
         throw new Error("Feature requires Business or ManagedTest.");
     }
 
     public void verify(Domain d) {
         try {
             d.addPing(DomainPingType.EMAIL, "admin");
-            TestMail testMail = getMailReciever().receive();
+            TestMail testMail = getMailReceiver().receive();
             testMail.verify();
             assertTrue(d.isVerified());
         } catch (GigiApiException e) {
@@ -201,7 +206,7 @@ public abstract class ConfiguredTest {
     }
 
     public static void purgeOnlyDB() throws SQLException, IOException {
-        System.out.print("... resetting Database");
+        System.out.println("... resetting Database");
         long ms = System.currentTimeMillis();
         try {
             DatabaseManager.run(new String[] {
@@ -210,6 +215,15 @@ public abstract class ConfiguredTest {
         } catch (ClassNotFoundException e) {
             e.printStackTrace();
         }
-        System.out.println(" in " + (System.currentTimeMillis() - ms) + " ms");
+        System.out.println("Database reset complete in " + (System.currentTimeMillis() - ms) + " ms.");
     }
+
+    public static String validVerificationDateString() {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Calendar c = Calendar.getInstance();
+        c.setTimeInMillis(System.currentTimeMillis());
+        c.add(Calendar.MONTH, -Notary.LIMIT_MAX_MONTHS_VERIFICATION + 1);
+        return sdf.format(new Date(c.getTimeInMillis()));
+    }
+
 }