System.setProperty("picketlink.schema.validate", "false");
MockCatalinaSession session = new MockCatalinaSession();
// First we go to the employee application
MockCatalinaContextClassLoader mclSPEmp = setupTCL(profile + "/ping");
Thread.currentThread().setContextClassLoader(mclSPEmp);
SPPostFormAuthenticator spEmpl = new SPPostFormAuthenticator();
MockCatalinaContext context = new MockCatalinaContext();
spEmpl.setContainer(context);
spEmpl.testStart();
MockCatalinaRequest catalinaRequest = new MockCatalinaRequest();
catalinaRequest.setSession(session);
catalinaRequest.setContext(context);
catalinaRequest.setMethod("POST");
String idpResponse = PostBindingUtil.base64Encode(new String(readIDPResponse()));
catalinaRequest.setParameter(GeneralConstants.SAML_RESPONSE_KEY, idpResponse);
MockCatalinaResponse catalinaResponse = new MockCatalinaResponse();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
catalinaResponse.setWriter(new PrintWriter(baos));
LoginConfig loginConfig = new LoginConfig();
assertTrue(spEmpl.authenticate(catalinaRequest, catalinaResponse, loginConfig));
Map<String, List<Object>> sessionMap = (Map<String, List<Object>>) session
.getAttribute(GeneralConstants.SESSION_ATTRIBUTE_MAP);
assertNotNull(sessionMap);
assertEquals("asptest_email", sessionMap.get("email").get(0));