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.Random;
import java.util.TimeZone;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.cacert.gigi.database.GigiPreparedStatement;
import org.cacert.gigi.database.SQLFileManager.ImportType;
import org.cacert.gigi.dbObjects.CATS.CATSType;
+import org.cacert.gigi.dbObjects.CertificateProfile;
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.PasswordHash;
import org.cacert.gigi.util.ServerConstants;
+import org.cacert.gigi.util.TimeConditions;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import sun.security.pkcs10.PKCS10;
initEnvironment();
}
+ private static Link l;
+
public static Properties initEnvironment() throws IOException {
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
if (envInited) {
}
Properties props = generateProps();
ServerConstants.init(props);
+ TimeConditions.init(props);
DomainAssessment.init(props);
+ PasswordHash.init(props);
if ( !DatabaseConnection.isInited()) {
DatabaseConnection.init(testProps);
throw new Error(e);
}
}
+
return props;
+ }
+ @AfterClass
+ public static void closeDBLink() {
+ if (l != null) {
+ l.close();
+ l = null;
+ }
}
private static Properties generateProps() throws Error {
}
}
mainProps.setProperty("highFinancialValue", out.getAbsolutePath());
+ mainProps.setProperty("scrypt.params", "1;1;1");
return mainProps;
}
static int count = 0;
- private static Link l;
+ public static String createRandomIDString() {
+ final char[] chars = "abcdefghijklmnopqrstuvwxyz0123456789".toCharArray();
+ final int idStringLength = 16;
- public static String createUniqueName() {
- return "test" + System.currentTimeMillis() + "a" + (count++) + "u";
+ Random sr;
+ sr = new Random();
+
+ StringBuilder sb = new StringBuilder(idStringLength);
+ for (int i = 0; i < idStringLength; i++) {
+ sb.append(chars[sr.nextInt(chars.length)]);
+ }
+
+ return sb.toString();
+ }
+
+ public static synchronized String createUniqueName() {
+ return "test" + createRandomIDString() + "a" + (count++) + "u";
+ }
+
+ public static CertificateProfile getClientProfile() {
+ return CertificateProfile.getByName("client");
}
public static int countRegex(String text, String pattern) {
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();
}
}
}
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()));
+ }
}