X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Fclub%2Fwpia%2Fgigi%2FtestUtils%2FConfiguredTest.java;h=43be01db7d2b64443c484d6ce751274fde334aa3;hb=4869b9224eed6aad66ea926c808bcbcfa472012b;hp=c0d6d4f74e4ee63a2c489d1ad76e812d029d6f98;hpb=8f8ecf399f5e25fdf8620dcba77fb1474839dc92;p=gigi.git diff --git a/tests/club/wpia/gigi/testUtils/ConfiguredTest.java b/tests/club/wpia/gigi/testUtils/ConfiguredTest.java index c0d6d4f7..43be01db 100644 --- a/tests/club/wpia/gigi/testUtils/ConfiguredTest.java +++ b/tests/club/wpia/gigi/testUtils/ConfiguredTest.java @@ -42,6 +42,8 @@ import club.wpia.gigi.database.SQLFileManager.ImportType; import club.wpia.gigi.dbObjects.CATS; import club.wpia.gigi.dbObjects.CATS.CATSType; import club.wpia.gigi.dbObjects.CertificateProfile; +import club.wpia.gigi.dbObjects.Contract; +import club.wpia.gigi.dbObjects.Contract.ContractType; import club.wpia.gigi.dbObjects.Domain; import club.wpia.gigi.dbObjects.DomainPingType; import club.wpia.gigi.dbObjects.User; @@ -52,6 +54,7 @@ import club.wpia.gigi.util.DomainAssessment; import club.wpia.gigi.util.Notary; import club.wpia.gigi.util.PEM; import club.wpia.gigi.util.PasswordHash; +import club.wpia.gigi.util.RandomToken; import club.wpia.gigi.util.ServerConstants; import club.wpia.gigi.util.TimeConditions; import sun.security.pkcs10.PKCS10; @@ -336,6 +339,7 @@ public abstract class ConfiguredTest { public static void makeAgent(int uid) { addChallenge(uid, CATSType.AGENT_CHALLENGE); add100Points(uid); + insertRAContract(uid); } public static void addChallenge(int uid, CATSType ct) { @@ -356,6 +360,28 @@ public abstract class ConfiguredTest { } public static void add100Points(int uid) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try (GigiPreparedStatement ps2 = new GigiPreparedStatement("INSERT INTO `notary` SET `from`=?, `to`=?, points='100', `date`=?")) { + ps2.setInt(1, uid); + ps2.setInt(2, User.getById(uid).getPreferredName().getId()); + ps2.setString(3, sdf.format(new Date(System.currentTimeMillis()))); + ps2.execute(); + } + } + + public static void insertRAContract(int uid) { + // insert signed RA Contract + try (GigiPreparedStatement ps = new GigiPreparedStatement("INSERT INTO `user_contracts` SET `memid`=?, `token`=?, `document`=?::`contractType`,`agentname`=?")) { + ps.setInt(1, uid); + ps.setString(2, RandomToken.generateToken(32)); + ps.setEnum(3, ContractType.RA_AGENT_CONTRACT); + ps.setString(4, User.getById(uid).getPreferredName().toString()); + ps.execute(); + } + } + + public static void insertVerificationPoints(int uid) { + // insert Verification Points try (GigiPreparedStatement ps2 = new GigiPreparedStatement("INSERT INTO `notary` SET `from`=?, `to`=?, points='100'")) { ps2.setInt(1, uid); ps2.setInt(2, User.getById(uid).getPreferredName().getId()); @@ -363,6 +389,15 @@ public abstract class ConfiguredTest { } } + public static void insertPassedTest(int uid) { + // insert passed test + 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.AGENT_CHALLENGE.getId()); + ps1.execute(); + } + } + public MailReceiver getMailReceiver() { throw new Error("Feature requires Business or ManagedTest."); } @@ -406,4 +441,9 @@ public abstract class ConfiguredTest { c.add(Calendar.MONTH, -Notary.LIMIT_MAX_MONTHS_VERIFICATION + 1); return sdf.format(new Date(c.getTimeInMillis())); } + + public void signRAContract(User u) throws GigiApiException { + new Contract(u, ContractType.RA_AGENT_CONTRACT); + getMailReceiver().receive(u.getEmail()); + } }