X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=tests%2Fclub%2Fwpia%2Fgigi%2FTestCertificate.java;h=fb5ca6f6667ee2de8f818ca4afd3c795f3491e19;hp=53b6509d38e0cecbe66524f5410c0f451d198e43;hb=f1328bd450dd974c5c7327f503ee0dd7f1620b8a;hpb=19dfeb8cc6ffa3f469e2b27fcedccc56b776c693 diff --git a/tests/club/wpia/gigi/TestCertificate.java b/tests/club/wpia/gigi/TestCertificate.java index 53b6509d..fb5ca6f6 100644 --- a/tests/club/wpia/gigi/TestCertificate.java +++ b/tests/club/wpia/gigi/TestCertificate.java @@ -3,6 +3,7 @@ package club.wpia.gigi; import static org.junit.Assert.*; import java.io.IOException; +import java.math.BigInteger; import java.security.GeneralSecurityException; import java.security.KeyPair; import java.security.PrivateKey; @@ -17,6 +18,7 @@ import org.junit.Test; import club.wpia.gigi.dbObjects.Certificate; import club.wpia.gigi.dbObjects.Certificate.CSRType; import club.wpia.gigi.dbObjects.Certificate.CertificateStatus; +import club.wpia.gigi.dbObjects.Certificate.RevocationType; import club.wpia.gigi.dbObjects.Certificate.SANType; import club.wpia.gigi.dbObjects.Certificate.SubjectAlternateName; import club.wpia.gigi.dbObjects.Digest; @@ -24,6 +26,7 @@ import club.wpia.gigi.dbObjects.User; import club.wpia.gigi.pages.account.certs.Certificates; import club.wpia.gigi.testUtils.IOUtils; import club.wpia.gigi.testUtils.ManagedTest; +import club.wpia.gigi.util.RandomToken; import sun.security.x509.GeneralNameInterface; public class TestCertificate extends ManagedTest { @@ -78,7 +81,7 @@ public class TestCertificate extends ManagedTest { testFails(CertificateStatus.ISSUED, c); - Certificate c2 = Certificate.getBySerial(c.getSerial()); + Certificate c2 = Certificate.getBySerial(new BigInteger(c.getSerial(), 16)); assertNotNull(c2); assertEquals(2, c2.getSANs().size()); assertEquals(c.getSANs().get(0).getName(), c2.getSANs().get(0).getName()); @@ -120,7 +123,7 @@ public class TestCertificate extends ManagedTest { assertNotNull(login(pk, cert)); assertEquals(1, countRegex(IOUtils.readURL(get(cookie, Certificates.PATH)), "(?:REVOKED|ISSUED)")); assertEquals(1, countRegex(IOUtils.readURL(get(cookie, Certificates.PATH + "?withRevoked")), "(?:REVOKED|ISSUED)")); - await(c.revoke()); + await(c.revoke(RevocationType.USER)); testFails(CertificateStatus.REVOKED, c); assertNull(login(pk, cert)); @@ -133,7 +136,7 @@ public class TestCertificate extends ManagedTest { assertEquals(status, c.getStatus()); if (status != CertificateStatus.ISSUED) { try { - c.revoke(); + c.revoke(RevocationType.USER); fail(status + " is in invalid state"); } catch (IllegalStateException ise) { @@ -158,4 +161,22 @@ public class TestCertificate extends ManagedTest { } } } + + @Test + public void testClientCertDescription() throws IOException, GeneralSecurityException, SQLException, InterruptedException, GigiApiException { + KeyPair kp = generateKeypair(); + String key1 = generatePEMCSR(kp, "CN=testmail@example.com"); + Certificate c = new Certificate(u, u, Certificate.buildDN("CN", "testmail@example.com"), Digest.SHA256, key1, CSRType.CSR, getClientProfile()); + await(c.issue(null, "2y", u)); + String description = RandomToken.generateToken(95) + DIFFICULT_CHARS; + c.setDescription(description); + assertEquals(description, c.getDescription()); + + // test that description is entered to db + int cid = c.getId(); + clearCaches(); + Certificate cn = Certificate.getById(cid); + assertEquals(description, cn.getDescription()); + + } }