X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Fclub%2Fwpia%2Fgigi%2FtestUtils%2FConfiguredTest.java;h=322af0bc55e6d15e2b744316b8431b0c2c4d17c4;hb=06f3ff30e0b9338e7c330a1144903ba8baeaf028;hp=c0d6d4f74e4ee63a2c489d1ad76e812d029d6f98;hpb=438fd561b46bfcfd28ad29ffd13a38d22fe21462;p=gigi.git diff --git a/tests/club/wpia/gigi/testUtils/ConfiguredTest.java b/tests/club/wpia/gigi/testUtils/ConfiguredTest.java index c0d6d4f7..322af0bc 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) { @@ -363,6 +367,35 @@ public abstract class ConfiguredTest { } } + 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()); + ps2.execute(); + } + } + + 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 +439,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()); + } }