]> WPIA git - gigi.git/blobdiff - tests/club/wpia/gigi/TestCertificate.java
add: ensure that for Org Administrator actions certificate login is used
[gigi.git] / tests / club / wpia / gigi / TestCertificate.java
index 058c029e4146319e41fa7d1de15993ecc27bf650..fb5ca6f6667ee2de8f818ca4afd3c795f3491e19 100644 (file)
@@ -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;
@@ -25,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 {
@@ -79,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());
@@ -159,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());
+
+    }
 }