Skip to content

Commit

Permalink
Polish gh-14977
Browse files Browse the repository at this point in the history
  • Loading branch information
sjohnr committed May 29, 2024
1 parent 1695d03 commit e34621e
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ public Mono<Void> removeAuthorizedClient(String clientRegistrationId, Authentica
// @formatter:on
}

@SuppressWarnings("unchecked")
private Map<String, OAuth2AuthorizedClient> getAuthorizedClients(WebSession session) {
Assert.notNull(session, "session cannot be null");
Map<String, OAuth2AuthorizedClient> authorizedClients = session.getAttribute(this.sessionAttributeName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,21 @@
package org.springframework.security.oauth2.client.web.server;

import org.junit.jupiter.api.Test;
import reactor.core.publisher.Mono;

import org.springframework.mock.http.server.reactive.MockServerHttpRequest;
import org.springframework.mock.web.server.MockServerWebExchange;
import org.springframework.security.oauth2.client.OAuth2AuthorizedClient;
import org.springframework.security.oauth2.client.registration.ClientRegistration;
import org.springframework.security.oauth2.client.registration.TestClientRegistrations;
import org.springframework.security.oauth2.core.OAuth2AccessToken;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebSession;
import reactor.core.publisher.Mono;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

/**
* @author Rob Winch
Expand Down Expand Up @@ -203,25 +204,29 @@ public void removeAuthorizedClientWhenClient1Client2SavedAndClient1RemovedThenCl
assertThat(loadedAuthorizedClient2).isNotNull();
assertThat(loadedAuthorizedClient2).isSameAs(authorizedClient2);
}

@Test
public void saveAuthorizedClientWhenSessionIsNullThenThrowIllegalArgumentException() {
MockServerWebExchange mockedExchange = mock(MockServerWebExchange.class);
when(mockedExchange.getSession()).thenReturn(Mono.empty());
ServerWebExchange exchange = mock(ServerWebExchange.class);
given(exchange.getSession()).willReturn(Mono.empty());
OAuth2AuthorizedClient authorizedClient = new OAuth2AuthorizedClient(this.registration1, this.principalName1,
mock(OAuth2AccessToken.class));
assertThatIllegalArgumentException().isThrownBy(
() -> authorizedClientRepository.saveAuthorizedClient(authorizedClient, null, mockedExchange).block())
.withMessage("session cannot be null");
// @formatter:off
assertThatIllegalArgumentException()
.isThrownBy(() -> this.authorizedClientRepository.saveAuthorizedClient(authorizedClient, null, exchange).block())
.withMessage("session cannot be null");
// @formatter:on
}

@Test
public void removeAuthorizedClientWhenSessionIsNullThenThrowIllegalArgumentException() {
MockServerWebExchange mockedExchange = mock(MockServerWebExchange.class);
when(mockedExchange.getSession()).thenReturn(Mono.empty());
assertThatIllegalArgumentException().isThrownBy(
() -> authorizedClientRepository.removeAuthorizedClient(this.registrationId1, null, mockedExchange).block())
.withMessage("session cannot be null");
ServerWebExchange exchange = mock(ServerWebExchange.class);
given(exchange.getSession()).willReturn(Mono.empty());
// @formatter:off
assertThatIllegalArgumentException()
.isThrownBy(() -> this.authorizedClientRepository.removeAuthorizedClient(this.registrationId1, null, exchange).block())
.withMessage("session cannot be null");
// @formatter:on
}

}

0 comments on commit e34621e

Please sign in to comment.