]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/pages/account/TestCertificateRequest.java
4d668b74caba6b6740d0086613876ec6355078dc
[gigi.git] / tests / org / cacert / gigi / pages / account / TestCertificateRequest.java
1 package org.cacert.gigi.pages.account;
2
3 import static org.hamcrest.CoreMatchers.*;
4 import static org.junit.Assert.*;
5
6 import java.io.IOException;
7 import java.security.GeneralSecurityException;
8 import java.security.KeyPair;
9
10 import org.cacert.gigi.GigiApiException;
11 import org.cacert.gigi.dbObjects.Group;
12 import org.cacert.gigi.pages.account.certs.CertificateRequest;
13 import org.cacert.gigi.testUtils.ClientTest;
14 import org.junit.Test;
15
16 public class TestCertificateRequest extends ClientTest {
17
18     KeyPair kp = generateKeypair();
19
20     public TestCertificateRequest() throws GeneralSecurityException, IOException {
21         makeAssurer(u.getId());
22         grant(email, Group.CODESIGNING);
23
24     }
25
26     @Test
27     public void testIssuingOtherName() throws Exception {
28         try {
29             new CertificateRequest(u, generatePEMCSR(kp, "CN=hansi")).draft();
30             fail();
31         } catch (GigiApiException e) {
32             assertThat(e.getMessage(), containsString("name you entered was invalid"));
33         }
34     }
35
36     @Test
37     public void testIssuingDefault() throws Exception {
38         new CertificateRequest(u, generatePEMCSR(kp, "CN=" + CertificateRequest.DEFAULT_CN + ",EMAIL=" + email)).draft();
39     }
40
41     @Test
42     public void testIssuingRealName() throws Exception {
43         new CertificateRequest(u, generatePEMCSR(kp, "CN=a b,EMAIL=" + email)).draft();
44     }
45
46     @Test
47     public void testIssuingModifiedName() throws Exception {
48         try {
49             new CertificateRequest(u, generatePEMCSR(kp, "CN=a ab")).draft();
50             fail();
51         } catch (GigiApiException e) {
52             assertThat(e.getMessage(), containsString("name you entered was invalid"));
53         }
54
55     }
56
57     // TODO annotate that this depends on default config
58     @Test
59     public void testCodesignModifiedName() throws Exception {
60         try {
61             CertificateRequest cr = new CertificateRequest(u, generatePEMCSR(kp, "CN=a ab"));
62             cr.update("name", "SHA512", "code-a", null, null, "email:" + email, null, null);
63         } catch (GigiApiException e) {
64             assertThat(e.getMessage(), containsString("does not match the details"));
65         }
66
67     }
68 }