@Test
public void testDaveDirectTrust() throws JAXBException, CertificateException {
X509Certificate daveCertificate = readCertificate("dave.cer");
ValidateRequestType request = prepareValidateXKMSRequest(daveCertificate);
request.getQueryKeyBinding().getKeyUsage().add(KeyUsageEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_SIGNATURE);
StatusType result = doValidate(request);
Assert.assertEquals(KeyBindingEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_VALID, result.getStatusValue());
Assert.assertFalse(result.getValidReason().isEmpty());
Assert.assertEquals(ReasonEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_VALIDITY_INTERVAL.value(), result
.getValidReason().get(0));
Assert.assertEquals(ReasonEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_ISSUER_TRUST.value(), result
.getValidReason().get(1));
Assert.assertEquals(XKMSConstants.DIRECT_TRUST_VALIDATION, result
.getValidReason().get(2));
}