package org.cloudfoundry.identity.uaa.oauth;
import org.junit.Before;
import org.junit.Test;
import java.util.HashSet;
import java.util.Set;
import static org.junit.Assert.assertEquals;
public class UaaAuthorizationEndpointTest {
private UaaAuthorizationEndpoint uaaAuthorizationEndpoint;
private Set<String> responseTypes;
@Before
public void setup() {
uaaAuthorizationEndpoint = new UaaAuthorizationEndpoint();
responseTypes = new HashSet<>();
}
@Test
public void testGetGrantType_id_token_only_is_implicit() {
responseTypes.add("id_token");
assertEquals("implicit", uaaAuthorizationEndpoint.deriveGrantTypeFromResponseType(responseTypes));
}
@Test
public void testGetGrantType_token_as_response_is_implcit() {
responseTypes.add("token");
assertEquals("implicit", uaaAuthorizationEndpoint.deriveGrantTypeFromResponseType(responseTypes));
}
@Test
public void testGetGrantType_code_is_auth_code() {
responseTypes.add("code");
assertEquals("authorization_code", uaaAuthorizationEndpoint.deriveGrantTypeFromResponseType(responseTypes));
}
@Test
public void testGetGrantType_code_and_token_is_implicit() {
responseTypes.add("code");
responseTypes.add("token");
assertEquals("implicit", uaaAuthorizationEndpoint.deriveGrantTypeFromResponseType(responseTypes));
}
@Test
public void testGetGrantType_id_token_and_token_is_implicit() {
responseTypes.add("id_token");
responseTypes.add("token");
assertEquals("implicit", uaaAuthorizationEndpoint.deriveGrantTypeFromResponseType(responseTypes));
}
@Test
public void testGetGrantType_code_and_id_token_is_authorization_code() {
responseTypes.add("code");
responseTypes.add("id_token");
assertEquals("authorization_code", uaaAuthorizationEndpoint.deriveGrantTypeFromResponseType(responseTypes));
}
@Test
public void testGetGrantType_code_id_token_and_token_is_implicit() {
responseTypes.add("code");
responseTypes.add("id_token");
responseTypes.add("token");
assertEquals("implicit", uaaAuthorizationEndpoint.deriveGrantTypeFromResponseType(responseTypes));
}
}