package org.apereo.cas.digest; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import javax.security.auth.login.AccountNotFoundException; import java.util.Collections; import static org.junit.Assert.*; /** * @author David Rodriguez * @since 5.1.0 */ public class DefaultDigestHashedCredentialRetrieverTests { @Rule public ExpectedException thrown = ExpectedException.none(); @Test public void verifyCanFindAnExistingUser() throws Exception { final String expectedPassword = "password"; final DefaultDigestHashedCredentialRetriever credentialRetriever = new DefaultDigestHashedCredentialRetriever( Collections.singletonMap("user", expectedPassword)); final String credential = credentialRetriever.findCredential("user", "ignored"); assertEquals(expectedPassword, credential); } @Test public void verifyAnExceptionIsThrownIfUsedDoesNotExist() throws Exception { final String username = "user"; final DefaultDigestHashedCredentialRetriever credentialRetriever = new DefaultDigestHashedCredentialRetriever( Collections.singletonMap("anotherUsername", "password")); thrown.expect(AccountNotFoundException.class); thrown.expectMessage("Could not locate user account for " + username); credentialRetriever.findCredential(username, "ignored"); } }