+
+ @Test
+ public void testSwitchOrgLoginChallenge() throws IOException, GigiApiException, KeyManagementException, NoSuchAlgorithmException, GeneralSecurityException {
+ loginCertificate = cagent;
+ loginPrivateKey = pkagent;
+ cookie = login(pkagent, cagent.cert());
+ String email = createUniqueName() + "@testdom.com";
+ User u3 = User.getById(createVerificationUser("testworker", "testname", email, TEST_PASSWORD));
+ assertNull(executeBasicWebInteraction(cookie, ViewOrgPage.DEFAULT_PATH + "/" + org1.getId(), "email=" + URLEncoder.encode(u3.getEmail(), "UTF-8") + "&do_affiliate=y&master=y", 1));
+ assertNull(executeBasicWebInteraction(cookie, ViewOrgPage.DEFAULT_PATH + "/" + org2.getId(), "email=" + URLEncoder.encode(u3.getEmail(), "UTF-8") + "&do_affiliate=y&master=y", 1));
+
+ cookie = cookieWithCertificateLogin(u3);
+ URLConnection uc = get(cookie, SwitchOrganisation.PATH);
+ assertEquals(403, ((HttpURLConnection) uc).getResponseCode());
+
+ addChallenge(u3.getId(), CATSType.ORG_ADMIN_DP_CHALLENGE_NAME);
+ clearCaches();
+ uc = get(cookie, SwitchOrganisation.PATH);
+ assertEquals(200, ((HttpURLConnection) uc).getResponseCode());
+ }