package org.apereo.cas.adaptors.x509.authentication.principal;
import static org.junit.Assert.*;
import java.security.cert.X509Certificate;
import org.apereo.cas.authentication.CoreAuthenticationTestUtils;
import org.apereo.cas.authentication.UsernamePasswordCredential;
import org.apereo.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler;
import org.junit.Test;
/**
* @author Scott Battaglia
* @author Jan Van der Velpen
* @since 3.0.0.6
*
*/
public class X509SerialNumberAndIssuerDNPrincipalResolverTests extends AbstractX509CertificateTests {
private final X509SerialNumberAndIssuerDNPrincipalResolver resolver = new X509SerialNumberAndIssuerDNPrincipalResolver(null, null);
@Test
public void verifyResolvePrincipalInternal() {
final X509CertificateCredential c = new X509CertificateCredential(new X509Certificate[] {VALID_CERTIFICATE});
c.setCertificate(VALID_CERTIFICATE);
final String value = "SERIALNUMBER="
+ VALID_CERTIFICATE.getSerialNumber().toString()
+ ", " + VALID_CERTIFICATE.getIssuerDN().getName();
assertEquals(value, this.resolver.resolve(c, CoreAuthenticationTestUtils.getPrincipal(),
new SimpleTestUsernamePasswordAuthenticationHandler()).getId());
}
@Test
public void verifySupport() {
final X509CertificateCredential c = new X509CertificateCredential(new X509Certificate[] {VALID_CERTIFICATE});
assertTrue(this.resolver.supports(c));
}
@Test
public void verifySupportFalse() {
assertFalse(this.resolver.supports(new UsernamePasswordCredential()));
}
}