X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FTestCertificateRequest.java;h=4430605442d398b9aac7cdea847f04fb4c506b1a;hb=dc10b875c132eb7840a6b9827ec93916076d34f7;hp=ecea2326f0556cee5668b56fbcdd9fb9660abae9;hpb=8d98e8c550a5fc426d7efbd57436dcb61bd41243;p=gigi.git diff --git a/tests/org/cacert/gigi/pages/account/TestCertificateRequest.java b/tests/org/cacert/gigi/pages/account/TestCertificateRequest.java index ecea2326..44306054 100644 --- a/tests/org/cacert/gigi/pages/account/TestCertificateRequest.java +++ b/tests/org/cacert/gigi/pages/account/TestCertificateRequest.java @@ -3,43 +3,67 @@ package org.cacert.gigi.pages.account; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; +import java.io.IOException; import java.security.GeneralSecurityException; import java.security.KeyPair; import org.cacert.gigi.GigiApiException; +import org.cacert.gigi.dbObjects.Group; import org.cacert.gigi.pages.account.certs.CertificateRequest; import org.cacert.gigi.testUtils.ClientTest; +import org.cacert.gigi.util.AuthorizationContext; import org.junit.Test; public class TestCertificateRequest extends ClientTest { KeyPair kp = generateKeypair(); - public TestCertificateRequest() throws GeneralSecurityException {} + AuthorizationContext ac; + + public TestCertificateRequest() throws GeneralSecurityException, IOException { + ac = new AuthorizationContext(u, u); + makeAssurer(u.getId()); + grant(email, Group.CODESIGNING); + + } @Test public void testIssuingOtherName() throws Exception { try { - new CertificateRequest(u, generatePEMCSR(kp, "CN=hansi")).draft(); + new CertificateRequest(ac, generatePEMCSR(kp, "CN=hansi")).draft(); + fail(); } catch (GigiApiException e) { - assertThat(e.getMessage(), containsString("does not match the details")); + assertThat(e.getMessage(), containsString("name you entered was invalid")); } } @Test public void testIssuingDefault() throws Exception { - new CertificateRequest(u, generatePEMCSR(kp, "CN=" + CertificateRequest.DEFAULT_CN)).draft(); + new CertificateRequest(ac, generatePEMCSR(kp, "CN=" + CertificateRequest.DEFAULT_CN + ",EMAIL=" + email)).draft(); } @Test public void testIssuingRealName() throws Exception { - new CertificateRequest(u, generatePEMCSR(kp, "CN=a b")).draft(); + new CertificateRequest(ac, generatePEMCSR(kp, "CN=a b,EMAIL=" + email)).draft(); } @Test public void testIssuingModifiedName() throws Exception { try { - new CertificateRequest(u, generatePEMCSR(kp, "CN=a ab")).draft(); + new CertificateRequest(ac, generatePEMCSR(kp, "CN=a ab")).draft(); + fail(); + } catch (GigiApiException e) { + assertThat(e.getMessage(), containsString("name you entered was invalid")); + } + + } + + // TODO annotate that this depends on default config + @Test + public void testCodesignModifiedName() throws Exception { + try { + CertificateRequest cr = new CertificateRequest(ac, generatePEMCSR(kp, "CN=a ab")); + cr.update("name", "SHA512", "code-a", null, null, "email:" + email, null, null); } catch (GigiApiException e) { assertThat(e.getMessage(), containsString("does not match the details")); }