+ @Test
+ public void testValidCATS() throws IOException, GeneralSecurityException {
+ Date min11month = new Date(System.currentTimeMillis() - 24L * 60 * 60 * 11 * 31 * 1000L);
+ Date min12month = new Date(System.currentTimeMillis() - 24L * 60 * 60 * 12 * 31 * 1000L);
+
+ assertFalse(u.hasValidRAChallenge());
+ CATS.enterResult(u, CATSType.AGENT_CHALLENGE, min12month, "en_US", "1");
+ assertFalse(u.hasValidRAChallenge());
+ CATS.enterResult(u, CATSType.AGENT_CHALLENGE, min11month, "en_US", "1");
+ assertTrue(u.hasValidRAChallenge());
+
+ assertFalse(u.hasValidSupportChallenge());
+ CATS.enterResult(u, CATSType.SUPPORT_DP_CHALLENGE_NAME, min12month, "en_US", "1");
+ assertFalse(u.hasValidSupportChallenge());
+ CATS.enterResult(u, CATSType.SUPPORT_DP_CHALLENGE_NAME, min11month, "en_US", "1");
+ assertTrue(u.hasValidSupportChallenge());
+
+ assertFalse(u.hasValidOrgAdminChallenge());
+ CATS.enterResult(u, CATSType.ORG_ADMIN_DP_CHALLENGE_NAME, min12month, "en_US", "1");
+ assertFalse(u.hasValidOrgAdminChallenge());
+ CATS.enterResult(u, CATSType.ORG_ADMIN_DP_CHALLENGE_NAME, min11month, "en_US", "1");
+ assertTrue(u.hasValidOrgAdminChallenge());
+
+ assertFalse(u.hasValidOrgAgentChallenge());
+ CATS.enterResult(u, CATSType.ORG_AGENT_CHALLENGE, min12month, "en_US", "1");
+ assertFalse(u.hasValidOrgAgentChallenge());
+ CATS.enterResult(u, CATSType.ORG_AGENT_CHALLENGE, min11month, "en_US", "1");
+ assertTrue(u.hasValidOrgAgentChallenge());
+
+ assertFalse(u.hasValidTTPAgentChallenge());
+ CATS.enterResult(u, CATSType.TTP_AGENT_CHALLENGE, min12month, "en_US", "1");
+ assertFalse(u.hasValidTTPAgentChallenge());
+ CATS.enterResult(u, CATSType.TTP_AGENT_CHALLENGE, min11month, "en_US", "1");
+ assertTrue(u.hasValidTTPAgentChallenge());
+ }
+
+ @Test
+ public void testHasContract() throws GigiApiException {
+ assertEquals(false, Contract.hasSignedContract(u, Contract.ContractType.RA_AGENT_CONTRACT));
+
+ Contract c = new Contract(u, Contract.ContractType.RA_AGENT_CONTRACT);
+ getMailReceiver().receive(u.getEmail());
+ assertEquals(true, Contract.hasSignedContract(u, Contract.ContractType.RA_AGENT_CONTRACT));
+
+ c.revokeContract();
+ getMailReceiver().receive(u.getEmail());
+ assertEquals(false, Contract.hasSignedContract(u, Contract.ContractType.RA_AGENT_CONTRACT));
+ }
+
+ @Test
+ public void testWriteUserLog() throws GigiApiException {
+ String type = "Log test";
+ u.writeUserLog(u, type);
+ String[] result = u.getAdminLog();
+ assertThat(result, ArrayContains.contains(CoreMatchers.equalTo(type)));
+
+ String type1 = "Log test1";
+ u.writeUserLog(u, type1);
+ result = u.getAdminLog();
+ assertThat(result, ArrayContains.contains(CoreMatchers.equalTo(type1)));
+ assertThat(result, ArrayContains.contains(CoreMatchers.equalTo(type)));
+ }
+
+ @Test
+ public void testValidVerification() throws GigiApiException {
+ User u0 = User.getById(createVerifiedUser("f", "l", createUniqueName() + "@email.com", TEST_PASSWORD));
+ assertFalse(u0.isValidNameVerification(u0.getPreferredName().toString()));
+
+ add100Points(u0.getId());
+ assertTrue(u0.isValidNameVerification(u0.getPreferredName().toString()));
+
+ setVerificationDateToPast(u0.getPreferredName());
+ assertFalse(u0.isValidNameVerification(u0.getPreferredName().toString()));
+
+ add100Points(u0.getId());
+ assertTrue(u0.isValidNameVerification(u0.getPreferredName().toString()));
+ }
+