import static org.junit.Assert.*;
+import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;
import org.cacert.gigi.GigiApiException;
-import org.cacert.gigi.database.DatabaseConnection;
import org.cacert.gigi.database.GigiPreparedStatement;
+import org.cacert.gigi.dbObjects.Assurance.AssuranceType;
import org.cacert.gigi.dbObjects.User;
import org.cacert.gigi.output.DateSelector;
import org.cacert.gigi.testUtils.ManagedTest;
public class TestNotary extends ManagedTest {
+ // These tests create a lot of users and therefore require resetting of the
+ // registering-rate-limit.
@Test
public void testNormalAssurance() throws SQLException, GigiApiException {
+ try {
+ clearCaches();
+ } catch (IOException e) {
+ throw new Error(e);
+ }
User[] users = new User[30];
for (int i = 0; i < users.length; i++) {
int id = createVerifiedUser("fn" + i, "ln" + i, createUniqueName() + "@email.org", TEST_PASSWORD);
};
try {
- Notary.assure(assurer, users[0], users[0].getName(), users[0].getDob(), -1, "test-notary", "2014-01-01");
+ Notary.assure(assurer, users[0], users[0].getName(), users[0].getDoB(), -1, "test-notary", "2014-01-01", AssuranceType.FACE_TO_FACE);
fail("This shouldn't have passed");
} catch (GigiApiException e) {
// expected
assertEquals(result[i], assurer.getMaxAssurePoints());
assuranceFail(assurer, users[i], result[i] + 1, "test-notary", "2014-01-01");
- Notary.assure(assurer, users[i], users[i].getName(), users[i].getDob(), result[i], "test-notary", "2014-01-01");
+ Notary.assure(assurer, users[i], users[i].getName(), users[i].getDoB(), result[i], "test-notary", "2014-01-01", AssuranceType.FACE_TO_FACE);
assuranceFail(assurer, users[i], result[i], "test-notary", "2014-01-01");
}
private void assuranceFail(User assurer, User user, int i, String location, String date) throws SQLException {
try {
- Notary.assure(assurer, user, user.getName(), user.getDob(), i, location, date);
+ Notary.assure(assurer, user, user.getName(), user.getDoB(), i, location, date, AssuranceType.FACE_TO_FACE);
fail("This shouldn't have passed");
} catch (GigiApiException e) {
// expected
@Test
public void testPoJam() throws SQLException, GigiApiException {
+ try {
+ clearCaches();
+ } catch (IOException e) {
+ throw new Error(e);
+ }
User[] users = new User[30];
for (int i = 0; i < users.length; i++) {
int id = createVerifiedUser("fn" + i, "ln" + i, createUniqueName() + "@email.org", TEST_PASSWORD);
users[i] = User.getById(id);
}
int id = createAssuranceUser("fn", "ln", createUniqueName() + "@email.org", TEST_PASSWORD);
- GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("UPDATE users SET dob=TIMESTAMPADD(YEAR,-15,NOW()) WHERE id=?");
- ps.setInt(1, id);
- ps.execute();
+ try (GigiPreparedStatement ps = new GigiPreparedStatement("UPDATE `users` SET dob=NOW() - interval '15 years' WHERE id=?")) {
+ ps.setInt(1, id);
+ ps.execute();
+ }
User assurer = User.getById(id);
for (int i = 0; i < users.length; i++) {
assuranceFail(assurer, users[i], -1, "test-notary", "2014-01-01");
assuranceFail(assurer, users[i], 11, "test-notary", "2014-01-01");
- Notary.assure(assurer, users[i], users[i].getName(), users[i].getDob(), 10, "test-notary", "2014-01-01");
+ if (User.POJAM_ENABLED) {
+ Notary.assure(assurer, users[i], users[i].getName(), users[i].getDoB(), 10, "test-notary", "2014-01-01", AssuranceType.FACE_TO_FACE);
+ }
assuranceFail(assurer, users[i], 10, "test-notary", "2014-01-01");
}
}
assuranceFail(assuree, assuranceUser, 10, "notary-junit-test", "2014-01-01");
// valid
- Notary.assure(assuranceUser, assuree, assuree.getName(), assuree.getDob(), 10, "notary-junit-test", "2014-01-01");
+ Notary.assure(assuranceUser, assuree, assuree.getName(), assuree.getDoB(), 10, "notary-junit-test", "2014-01-01", AssuranceType.FACE_TO_FACE);
// assure double
assuranceFail(assuranceUser, assuree, 10, "notary-junit-test", "2014-01-01");