/*******************************************************************************
* Cloud Foundry
* Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved.
*
* This product is licensed to you under the Apache License, Version 2.0 (the "License").
* You may not use this product except in compliance with the License.
*
* This product includes a number of subcomponents with
* separate copyright notices and license terms. Your use of these
* subcomponents is subject to the terms and conditions of the
* subcomponent's license, as noted in the LICENSE file.
*******************************************************************************/
package org.cloudfoundry.identity.uaa.login;
import static org.junit.Assert.assertSame;
import org.junit.Test;
import org.mockito.Matchers;
import org.mockito.Mockito;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.TestingAuthenticationToken;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.authority.AuthorityUtils;
/**
* @author Dave Syer
*
*/
public class UsernamePasswordExtractingAuthenticationManagerTests {
private AuthenticationManager delegate = Mockito.mock(AuthenticationManager.class);
private UsernamePasswordExtractingAuthenticationManager manager = new UsernamePasswordExtractingAuthenticationManager(
delegate);
@Test
public void testAuthenticate() {
Authentication expected = new TestingAuthenticationToken("bar", "foo",
AuthorityUtils.commaSeparatedStringToAuthorityList("USER"));
Mockito.when(delegate.authenticate(Matchers.any(UsernamePasswordAuthenticationToken.class)))
.thenReturn(expected);
Authentication output = manager.authenticate(new TestingAuthenticationToken("foo", "bar"));
assertSame(expected, output);
}
@Test
public void testUsernamePassword() {
Authentication expected = new UsernamePasswordAuthenticationToken("bar", "foo",
AuthorityUtils.commaSeparatedStringToAuthorityList("USER"));
Mockito.when(delegate.authenticate(Matchers.any(UsernamePasswordAuthenticationToken.class)))
.thenReturn(expected);
Authentication output = manager.authenticate(expected);
assertSame(expected, output);
}
}