]> WPIA git - gigi.git/blobdiff - tests/club/wpia/gigi/pages/admin/TestSEAdminPageDetails.java
add: ensure that for support actions certificate login is used
[gigi.git] / tests / club / wpia / gigi / pages / admin / TestSEAdminPageDetails.java
index 909dd0387427220b721b10b8e6a767deba1ac835..9187c4f18156eaa87ad033f8d92cdd18a4e8ac97 100644 (file)
@@ -15,23 +15,23 @@ import org.junit.Test;
 
 import club.wpia.gigi.GigiApiException;
 import club.wpia.gigi.database.GigiPreparedStatement;
+import club.wpia.gigi.dbObjects.Certificate;
 import club.wpia.gigi.dbObjects.EmailAddress;
-import club.wpia.gigi.dbObjects.Group;
 import club.wpia.gigi.dbObjects.ObjectCache;
 import club.wpia.gigi.dbObjects.User;
 import club.wpia.gigi.pages.account.History;
 import club.wpia.gigi.pages.admin.support.SupportEnterTicketPage;
 import club.wpia.gigi.pages.admin.support.SupportUserDetailsPage;
-import club.wpia.gigi.testUtils.ClientTest;
 import club.wpia.gigi.testUtils.IOUtils;
+import club.wpia.gigi.testUtils.SEClientTest;
 import club.wpia.gigi.util.DayDate;
 
-public class TestSEAdminPageDetails extends ClientTest {
+public class TestSEAdminPageDetails extends SEClientTest {
+
+    private Certificate cs;
 
     public TestSEAdminPageDetails() throws IOException, GigiApiException {
-        grant(u, Group.SUPPORTER);
-        cookie = login(email, TEST_PASSWORD);
-        assertEquals(302, post(cookie, SupportEnterTicketPage.PATH, "ticketno=a20140808.8&setTicket=action", 0).getResponseCode());
+        cs = loginCertificate;
     }
 
     @Test
@@ -56,7 +56,7 @@ public class TestSEAdminPageDetails extends ClientTest {
         int id = createVerifiedUser(fname, lname, email, TEST_PASSWORD);
         String email2 = createUniqueName() + "@example.com";
         EmailAddress ea = new EmailAddress(User.getById(id), email2, Locale.ENGLISH);
-        getMailReceiver().receive().verify();
+        getMailReceiver().receive(email2).verify();
         // Refresh email Object
         ObjectCache.clearAllCaches();
         ea = EmailAddress.getById(ea.getId());
@@ -108,6 +108,10 @@ public class TestSEAdminPageDetails extends ClientTest {
         assertEquals(3, logCountAdmin(id));
         assertEquals(3, logCountUser(clientCookie));
 
+        // discarding all 6 mails
+        for (int i = 0; i < 6; i++) {
+            getMailReceiver().receive(null);
+        }
     }
 
     @Test
@@ -119,12 +123,13 @@ public class TestSEAdminPageDetails extends ClientTest {
         String clientCookie = login(email, TEST_PASSWORD);
 
         // try to open mypoints as user
+        loginCertificate = null;
         HttpURLConnection uc = get(clientCookie, SupportUserDetailsPage.PATH + id + "/points");
 
         assertEquals(403, uc.getResponseCode());
 
         // enter verification and open mypoints as supporter
-
+        loginCertificate = cs;
         makeAgent(this.id);
         String location = createUniqueName();
         try (GigiPreparedStatement ps = new GigiPreparedStatement("INSERT INTO `notary` SET `from`=?, `to`=?, `points`=?, `location`=?, `date`=?, `when`=? ")) {
@@ -158,7 +163,10 @@ public class TestSEAdminPageDetails extends ClientTest {
     }
 
     private int logCountUser(String cookie) throws IOException {
-        return getLogEntryCount(IOUtils.readURL(get(cookie, History.PATH)));
+        loginCertificate = null;
+        int count = getLogEntryCount(IOUtils.readURL(get(cookie, History.PATH)));
+        loginCertificate = cs;
+        return count;
     }
 
     private int getLogEntryCount(String readURL) {