1 package club.wpia.gigi.dbObjects;
3 import static org.junit.Assert.*;
5 import java.io.IOException;
6 import java.security.GeneralSecurityException;
7 import java.security.KeyPair;
11 import club.wpia.gigi.GigiApiException;
12 import club.wpia.gigi.dbObjects.Certificate.CSRType;
13 import club.wpia.gigi.dbObjects.Certificate.SANType;
14 import club.wpia.gigi.testUtils.ManagedTest;
16 public class TestUserManaged extends ManagedTest {
19 public void testDeleteEmailWithCertificate() throws GigiApiException, GeneralSecurityException, IOException, InterruptedException {
21 int id = createVerifiedUser("Test", "User", createUniqueName() + "test@test.tld", TEST_PASSWORD);
22 String email = createUniqueName() + "test@test.tld";
23 User u = User.getById(id);
24 Certificate[] certs = u.getCertificates(false);
25 int certCount = certs.length;
26 EmailAddress testAddress = createVerifiedEmail(u, email);
27 KeyPair kp = generateKeypair();
28 String key = generatePEMCSR(kp, "CN=" + email);
29 Certificate c = new Certificate(u, u, Certificate.buildDN("CN", email), Digest.SHA256, key, CSRType.CSR, getClientProfile(), new Certificate.SubjectAlternateName(SANType.EMAIL, email));
30 c.issue(null, "2y", u).waitFor(Job.WAIT_MIN);
32 u.deleteEmail(testAddress);
34 assertFalse(c.getRevocationDate().toString().isEmpty());
35 certs = u.getCertificates(false);
36 assertEquals(certCount, certs.length);