1 package club.wpia.gigi.testUtils;
3 import static org.junit.Assert.*;
5 import java.io.IOException;
6 import java.security.GeneralSecurityException;
7 import java.security.KeyPair;
8 import java.security.PrivateKey;
9 import java.security.cert.X509Certificate;
11 import club.wpia.gigi.GigiApiException;
12 import club.wpia.gigi.dbObjects.Certificate;
13 import club.wpia.gigi.dbObjects.Certificate.CSRType;
14 import club.wpia.gigi.dbObjects.Digest;
15 import club.wpia.gigi.dbObjects.Group;
16 import club.wpia.gigi.pages.admin.support.SupportEnterTicketPage;
19 * Superclass for testsuites in a scenario where there is a supporter, who is
22 public abstract class SEClientTest extends ClientTest {
24 public SEClientTest() throws IOException, GigiApiException {
25 grant(u, Group.SUPPORTER);
27 KeyPair kp = generateKeypair();
28 String csr = generatePEMCSR(kp, "CN=" + u.getPreferredName().toString());
29 Certificate c = new Certificate(u, u, Certificate.buildDN("CN", u.getPreferredName().toString()), Digest.SHA256, csr, CSRType.CSR, getClientProfile());
30 final PrivateKey pk = kp.getPrivate();
31 await(c.issue(null, "2y", u));
32 final X509Certificate ce = c.cert();
33 c.setLoginEnabled(true);
36 cookie = login(pk, ce);
37 } catch (InterruptedException e) {
38 throw new GigiApiException(e.toString());
39 } catch (GeneralSecurityException e) {
40 throw new GigiApiException(e.toString());
42 assertEquals(302, post(cookie, SupportEnterTicketPage.PATH, "ticketno=a20140808.8&setTicket=action", 0).getResponseCode());