// Status
StatusType status = response.getStatus();
assertEquals("urn:oasis:names:tc:SAML:2.0:status:Success", status.getStatusCode().getValue().toString());
// Get the assertion
AssertionType assertion = response.getAssertions().get(0).getAssertion();
assertEquals("ID_8be1534d-9155-4837-9f26-70ea2c15e327", assertion.getID());
assertEquals(XMLTimeUtil.parse("2010-11-04T00:19:16.842-05:00"), assertion.getIssueInstant());
assertEquals("2.0", assertion.getVersion());
assertEquals("http://localhost:8080/idp/", assertion.getIssuer().getValue());
// Subject
SubjectType subject = assertion.getSubject();
NameIDType subjectNameID = (NameIDType) subject.getSubType().getBaseID();
assertEquals("anil", subjectNameID.getValue());
assertEquals("urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", subjectNameID.getFormat().toString());
SubjectConfirmationType subjectConfirmation = subject.getConfirmation().get(0);
assertEquals("urn:oasis:names:tc:SAML:2.0:cm:bearer", subjectConfirmation.getMethod());
SubjectConfirmationDataType subjectConfirmationData = subjectConfirmation.getSubjectConfirmationData();
assertEquals("ID_04ded476-d73c-48af-b3a9-232a52905ffb", subjectConfirmationData.getInResponseTo());
assertEquals(XMLTimeUtil.parse("2010-11-04T00:19:16.842-05:00"), subjectConfirmationData.getNotBefore());
assertEquals(XMLTimeUtil.parse("2010-11-04T00:19:16.842-05:00"), subjectConfirmationData.getNotOnOrAfter());
assertEquals("http://localhost:8080/employee/", subjectConfirmationData.getRecipient());
AttributeStatementType attributeStatement = (AttributeStatementType) assertion.getStatements().iterator().next();
List<AttributeStatementType.ASTChoiceType> attributes = attributeStatement.getAttributes();
assertEquals(2, attributes.size());
for (AttributeStatementType.ASTChoiceType attr : attributes) {