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)); } }