package org.apereo.cas.authentication.handler.support; import org.apereo.cas.authentication.CoreAuthenticationTestUtils; import org.apereo.cas.authentication.HandlerResult; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import javax.security.auth.login.FailedLoginException; import static org.junit.Assert.*; /** * Test of the simple username/password handler. * * @author Scott Battaglia * @since 3.0.0 */ public class SimpleTestUsernamePasswordHandlerTests { @Rule public ExpectedException thrown = ExpectedException.none(); private SimpleTestUsernamePasswordAuthenticationHandler authenticationHandler; @Before public void setUp() throws Exception { this.authenticationHandler = new SimpleTestUsernamePasswordAuthenticationHandler(); } @Test public void verifySupportsProperUserCredentials() { assertTrue(this.authenticationHandler.supports(CoreAuthenticationTestUtils.getCredentialsWithSameUsernameAndPassword())); } @Test public void verifyDoesntSupportBadUserCredentials() { assertFalse(this.authenticationHandler.supports(CoreAuthenticationTestUtils.getHttpBasedServiceCredentials())); } @Test public void verifyValidUsernamePassword() throws Exception { final HandlerResult result = authenticationHandler.authenticate(CoreAuthenticationTestUtils.getCredentialsWithSameUsernameAndPassword()); assertEquals("SimpleTestUsernamePasswordAuthenticationHandler", result.getHandlerName()); } @Test public void verifyInvalidUsernamePassword() throws Exception { this.thrown.expect(FailedLoginException.class); this.authenticationHandler.authenticate(CoreAuthenticationTestUtils.getCredentialsWithDifferentUsernameAndPassword()); } }