@Before public void setup() { MockitoAnnotations.initMocks(this); initMocks(MOCK_USER_INFO_URI, MOCK_USER_INFO_RESPONSE); defaultOAuth2UserInfoProvider.setClient(client); given(oAuth2ServiceProperties.getUserInfoUri()).willReturn(MOCK_USER_INFO_URI); given(oAuth2ServiceProperties.getAccessTokenName()).willReturn("access_token"); }
@Test public void shouldIncludeOptionalInfoParams() { Map<String, String> additionalInfoParams = Collections.singletonMap("extra_param", "param_value"); given(oAuth2ServiceProperties.getAdditionalInfoParams()).willReturn(additionalInfoParams); Map<String, Object> userInfo = defaultOAuth2UserInfoProvider.getUserInfoFromProvider(token); assertThat(userInfo, notNullValue()); verify(webTarget).queryParam("extra_param", "param_value"); }
@Test public void shouldReturnNullWhenJerseyThrowsARuntimeError() { // given given(builder.get(ClientResponse.class)).willThrow(RuntimeException.class); // when Map<String, Object> userInfo = defaultOAuth2UserInfoProvider.getUserInfoFromProvider(token); // then assertThat(userInfo, nullValue()); }
@Test public void shouldReturnNullWhenJacksonMappingFails() { // given given(clientResponse.readEntity(String.class)).willReturn(MOCK_BAD_USER_INFO_RESPONSE); // when Map<String, Object> userInfo = defaultOAuth2UserInfoProvider.getUserInfoFromProvider(token); // then assertThat(userInfo, nullValue()); }
@Test public void shouldGetUserInfoFromProvider() { // given // when Map<String, Object> userInfo = defaultOAuth2UserInfoProvider.getUserInfoFromProvider(token); // then assertThat(userInfo, notNullValue()); assertThat((String) userInfo.get("display"), is("*****@*****.**")); }
@Test public void shouldReturnNullWhenProviderReturnsAnError() { // given given(clientResponse.readEntity(String.class)).willReturn(MOCK_USER_INFO_ERROR_RESPONSE); given(clientResponse.getStatus()).willReturn(400); // when Map<String, Object> userInfo = defaultOAuth2UserInfoProvider.getUserInfoFromProvider(token); // then assertThat(userInfo, nullValue()); }