Use basicAuthenticationCredentials
This commit is contained in:
		
							parent
							
								
									65b968f04a
								
							
						
					
					
						commit
						21f8ee7f36
					
				|  | @ -16,6 +16,8 @@ | |||
| package sample; | ||||
| 
 | ||||
| import java.time.Duration; | ||||
| import java.util.Map; | ||||
| import java.util.function.Consumer; | ||||
| 
 | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
|  | @ -26,9 +28,9 @@ import org.springframework.test.context.ContextConfiguration; | |||
| import org.springframework.test.context.TestPropertySource; | ||||
| import org.springframework.test.context.junit4.SpringRunner; | ||||
| import org.springframework.test.web.reactive.server.WebTestClient; | ||||
| import org.springframework.web.reactive.function.client.ExchangeFilterFunction; | ||||
| 
 | ||||
| import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.basicAuthentication; | ||||
| import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.Credentials.basicAuthenticationCredentials; | ||||
| 
 | ||||
| /** | ||||
|  * @author Rob Winch | ||||
|  | @ -48,6 +50,7 @@ public class HelloWebfluxApplicationITests { | |||
| 		this.rest = WebTestClient.bindToServer() | ||||
| 				.responseTimeout(Duration.ofDays(1)) | ||||
| 				.baseUrl("http://localhost:" + this.port) | ||||
| 				.filter(basicAuthentication()) | ||||
| 				.build(); | ||||
| 	} | ||||
| 
 | ||||
|  | @ -64,11 +67,9 @@ public class HelloWebfluxApplicationITests { | |||
| 	@Test | ||||
| 	public void basicWhenValidCredentialsThenOk() throws Exception { | ||||
| 		this.rest | ||||
| 			.mutate() | ||||
| 			.filter(userCredentials()) | ||||
| 			.build() | ||||
| 			.get() | ||||
| 			.uri("/") | ||||
| 			.attributes(userCredentials()) | ||||
| 			.exchange() | ||||
| 			.expectStatus().isOk() | ||||
| 			.expectBody().json("{\"message\":\"Hello user!\"}"); | ||||
|  | @ -77,21 +78,19 @@ public class HelloWebfluxApplicationITests { | |||
| 	@Test | ||||
| 	public void basicWhenInvalidCredentialsThenUnauthorized() throws Exception { | ||||
| 		this.rest | ||||
| 			.mutate() | ||||
| 			.filter(invalidPassword()) | ||||
| 			.build() | ||||
| 			.get() | ||||
| 			.uri("/") | ||||
| 			.attributes(invalidCredentials()) | ||||
| 			.exchange() | ||||
| 			.expectStatus().isUnauthorized() | ||||
| 			.expectBody().isEmpty(); | ||||
| 	} | ||||
| 
 | ||||
| 	private ExchangeFilterFunction userCredentials() { | ||||
| 		return basicAuthentication("user","user"); | ||||
| 	private Consumer<Map<String, Object>> userCredentials() { | ||||
| 		return basicAuthenticationCredentials("user","user"); | ||||
| 	} | ||||
| 
 | ||||
| 	private ExchangeFilterFunction invalidPassword() { | ||||
| 		return basicAuthentication("user","INVALID"); | ||||
| 	private Consumer<Map<String, Object>> invalidCredentials() { | ||||
| 		return basicAuthenticationCredentials("user","INVALID"); | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -17,6 +17,9 @@ | |||
|  */ | ||||
| package sample; | ||||
| 
 | ||||
| import java.util.Map; | ||||
| import java.util.function.Consumer; | ||||
| 
 | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
|  | @ -27,11 +30,11 @@ import org.springframework.test.context.ActiveProfiles; | |||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringRunner; | ||||
| import org.springframework.test.web.reactive.server.WebTestClient; | ||||
| import org.springframework.web.reactive.function.client.ExchangeFilterFunction; | ||||
| 
 | ||||
| import static org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers.mockUser; | ||||
| import static org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers.springSecurity; | ||||
| import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.basicAuthentication; | ||||
| import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.Credentials.basicAuthenticationCredentials; | ||||
| 
 | ||||
| /** | ||||
|  * @author Rob Winch | ||||
|  | @ -51,6 +54,8 @@ public class HelloWebfluxApplicationTests { | |||
| 		this.rest = WebTestClient | ||||
| 			.bindToApplicationContext(this.context) | ||||
| 			.apply(springSecurity()) | ||||
| 			.configureClient() | ||||
| 			.filter(basicAuthentication()) | ||||
| 			.build(); | ||||
| 	} | ||||
| 
 | ||||
|  | @ -66,11 +71,9 @@ public class HelloWebfluxApplicationTests { | |||
| 	@Test | ||||
| 	public void basicWhenValidCredentialsThenOk() throws Exception { | ||||
| 		this.rest | ||||
| 			.mutate() | ||||
| 			.filter(userCredentials()) | ||||
| 			.build() | ||||
| 			.get() | ||||
| 			.uri("/") | ||||
| 			.attributes(userCredentials()) | ||||
| 			.exchange() | ||||
| 			.expectStatus().isOk() | ||||
| 			.expectBody().json("{\"message\":\"Hello user!\"}"); | ||||
|  | @ -79,11 +82,9 @@ public class HelloWebfluxApplicationTests { | |||
| 	@Test | ||||
| 	public void basicWhenInvalidCredentialsThenUnauthorized() throws Exception { | ||||
| 		this.rest | ||||
| 			.mutate() | ||||
| 			.filter(invalidPassword()) | ||||
| 			.build() | ||||
| 			.get() | ||||
| 			.uri("/") | ||||
| 			.attributes(invalidCredentials()) | ||||
| 			.exchange() | ||||
| 			.expectStatus().isUnauthorized() | ||||
| 			.expectBody().isEmpty(); | ||||
|  | @ -106,11 +107,11 @@ public class HelloWebfluxApplicationTests { | |||
| 			.expectStatus().isUnauthorized(); | ||||
| 	} | ||||
| 
 | ||||
| 	private ExchangeFilterFunction userCredentials() { | ||||
| 		return basicAuthentication("user","user"); | ||||
| 	private Consumer<Map<String, Object>> userCredentials() { | ||||
| 		return basicAuthenticationCredentials("user","user"); | ||||
| 	} | ||||
| 
 | ||||
| 	private ExchangeFilterFunction invalidPassword() { | ||||
| 		return basicAuthentication("user","INVALID"); | ||||
| 	private Consumer<Map<String, Object>> invalidCredentials() { | ||||
| 		return basicAuthenticationCredentials("user","INVALID"); | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -16,6 +16,8 @@ | |||
| package sample; | ||||
| 
 | ||||
| import java.time.Duration; | ||||
| import java.util.Map; | ||||
| import java.util.function.Consumer; | ||||
| 
 | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
|  | @ -26,9 +28,9 @@ import org.springframework.test.context.ContextConfiguration; | |||
| import org.springframework.test.context.TestPropertySource; | ||||
| import org.springframework.test.context.junit4.SpringRunner; | ||||
| import org.springframework.test.web.reactive.server.WebTestClient; | ||||
| import org.springframework.web.reactive.function.client.ExchangeFilterFunction; | ||||
| 
 | ||||
| import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.basicAuthentication; | ||||
| import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.Credentials.basicAuthenticationCredentials; | ||||
| 
 | ||||
| /** | ||||
|  * @author Rob Winch | ||||
|  | @ -48,6 +50,7 @@ public class HelloWebfluxFnApplicationITests { | |||
| 		this.rest = WebTestClient.bindToServer() | ||||
| 				.responseTimeout(Duration.ofDays(1)) | ||||
| 				.baseUrl("http://localhost:" + this.port) | ||||
| 				.filter(basicAuthentication()) | ||||
| 				.build(); | ||||
| 	} | ||||
| 
 | ||||
|  | @ -63,11 +66,9 @@ public class HelloWebfluxFnApplicationITests { | |||
| 	@Test | ||||
| 	public void basicWhenValidCredentialsThenOk() throws Exception { | ||||
| 		this.rest | ||||
| 			.mutate() | ||||
| 			.filter(userCredentials()) | ||||
| 			.build() | ||||
| 			.get() | ||||
| 			.uri("/") | ||||
| 			.attributes(userCredentials()) | ||||
| 			.exchange() | ||||
| 			.expectStatus().isOk() | ||||
| 			.expectBody().json("{\"message\":\"Hello user!\"}"); | ||||
|  | @ -76,21 +77,19 @@ public class HelloWebfluxFnApplicationITests { | |||
| 	@Test | ||||
| 	public void basicWhenInvalidCredentialsThenUnauthorized() throws Exception { | ||||
| 		this.rest | ||||
| 			.mutate() | ||||
| 			.filter(invalidPassword()) | ||||
| 			.build() | ||||
| 			.get() | ||||
| 			.uri("/") | ||||
| 			.attributes(invalidCredentials()) | ||||
| 			.exchange() | ||||
| 			.expectStatus().isUnauthorized() | ||||
| 			.expectBody().isEmpty(); | ||||
| 	} | ||||
| 
 | ||||
| 	private ExchangeFilterFunction userCredentials() { | ||||
| 		return basicAuthentication("user","user"); | ||||
| 	private Consumer<Map<String, Object>> userCredentials() { | ||||
| 		return basicAuthenticationCredentials("user","user"); | ||||
| 	} | ||||
| 
 | ||||
| 	private ExchangeFilterFunction invalidPassword() { | ||||
| 		return basicAuthentication("user","INVALID"); | ||||
| 	private Consumer<Map<String, Object>> invalidCredentials() { | ||||
| 		return basicAuthenticationCredentials("user","INVALID"); | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -17,6 +17,9 @@ | |||
|  */ | ||||
| package sample; | ||||
| 
 | ||||
| import java.util.Map; | ||||
| import java.util.function.Consumer; | ||||
| 
 | ||||
| import org.junit.Before; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
|  | @ -27,11 +30,11 @@ import org.springframework.test.context.ActiveProfiles; | |||
| import org.springframework.test.context.ContextConfiguration; | ||||
| import org.springframework.test.context.junit4.SpringRunner; | ||||
| import org.springframework.test.web.reactive.server.WebTestClient; | ||||
| import org.springframework.web.reactive.function.client.ExchangeFilterFunction; | ||||
| import org.springframework.web.reactive.function.server.RouterFunction; | ||||
| 
 | ||||
| import static org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers.mockUser; | ||||
| import static org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers.springSecurity; | ||||
| import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.Credentials.basicAuthenticationCredentials; | ||||
| import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.basicAuthentication; | ||||
| 
 | ||||
| /** | ||||
|  | @ -55,6 +58,8 @@ public class HelloWebfluxFnApplicationTests { | |||
| 			.bindToRouterFunction(this.routerFunction) | ||||
| 			.webFilter(this.springSecurityFilterChain) | ||||
| 			.apply(springSecurity()) | ||||
| 			.configureClient() | ||||
| 			.filter(basicAuthentication()) | ||||
| 			.build(); | ||||
| 	} | ||||
| 
 | ||||
|  | @ -70,11 +75,9 @@ public class HelloWebfluxFnApplicationTests { | |||
| 	@Test | ||||
| 	public void basicWhenValidCredentialsThenOk() throws Exception { | ||||
| 		this.rest | ||||
| 			.mutate() | ||||
| 			.filter(userCredentials()) | ||||
| 			.build() | ||||
| 			.get() | ||||
| 			.uri("/") | ||||
| 			.attributes(userCredentials()) | ||||
| 			.exchange() | ||||
| 			.expectStatus().isOk() | ||||
| 			.expectBody().json("{\"message\":\"Hello user!\"}"); | ||||
|  | @ -83,11 +86,9 @@ public class HelloWebfluxFnApplicationTests { | |||
| 	@Test | ||||
| 	public void basicWhenInvalidCredentialsThenUnauthorized() throws Exception { | ||||
| 		this.rest | ||||
| 			.mutate() | ||||
| 			.filter(invalidPassword()) | ||||
| 			.build() | ||||
| 			.get() | ||||
| 			.uri("/") | ||||
| 			.attributes(invalidCredentials()) | ||||
| 			.exchange() | ||||
| 			.expectStatus().isUnauthorized() | ||||
| 			.expectBody().isEmpty(); | ||||
|  | @ -110,11 +111,11 @@ public class HelloWebfluxFnApplicationTests { | |||
| 			.expectStatus().isUnauthorized(); | ||||
| 	} | ||||
| 
 | ||||
| 	private ExchangeFilterFunction userCredentials() { | ||||
| 		return basicAuthentication("user","user"); | ||||
| 	private Consumer<Map<String, Object>> userCredentials() { | ||||
| 		return basicAuthenticationCredentials("user","user"); | ||||
| 	} | ||||
| 
 | ||||
| 	private ExchangeFilterFunction invalidPassword() { | ||||
| 		return basicAuthentication("user","INVALID"); | ||||
| 	private Consumer<Map<String, Object>> invalidCredentials() { | ||||
| 		return basicAuthenticationCredentials("user","INVALID"); | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -46,6 +46,7 @@ import static org.mockito.Mockito.verify; | |||
| import static org.mockito.Mockito.verifyZeroInteractions; | ||||
| import static org.mockito.Mockito.when; | ||||
| import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.basicAuthentication; | ||||
| import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.Credentials.basicAuthenticationCredentials; | ||||
| 
 | ||||
| 
 | ||||
| /** | ||||
|  | @ -102,14 +103,13 @@ public class AuthenticationWebFilterTests { | |||
| 
 | ||||
| 		WebTestClient client = WebTestClientBuilder | ||||
| 			.bindToWebFilters(this.filter) | ||||
| 			.filter(basicAuthentication()) | ||||
| 			.build(); | ||||
| 
 | ||||
| 		EntityExchangeResult<String> result = client | ||||
| 			.mutate() | ||||
| 			.filter(basicAuthentication("test","this")) | ||||
| 			.build() | ||||
| 			.get() | ||||
| 			.uri("/") | ||||
| 			.attributes(basicAuthenticationCredentials("test", "this")) | ||||
| 			.exchange() | ||||
| 			.expectStatus().isOk() | ||||
| 			.expectBody(String.class).consumeWith(b -> assertThat(b.getResponseBody()).isEqualTo("ok")) | ||||
|  | @ -125,14 +125,13 @@ public class AuthenticationWebFilterTests { | |||
| 
 | ||||
| 		WebTestClient client = WebTestClientBuilder | ||||
| 			.bindToWebFilters(this.filter) | ||||
| 			.filter(basicAuthentication()) | ||||
| 			.build(); | ||||
| 
 | ||||
| 		EntityExchangeResult<Void> result = client | ||||
| 			.mutate() | ||||
| 			.filter(basicAuthentication("test", "this")) | ||||
| 			.build() | ||||
| 			.get() | ||||
| 			.uri("/") | ||||
| 			.attributes(basicAuthenticationCredentials("test", "this")) | ||||
| 			.exchange() | ||||
| 			.expectStatus().isUnauthorized() | ||||
| 			.expectHeader().valueMatches("WWW-Authenticate", "Basic realm=\"Realm\"") | ||||
|  | @ -212,14 +211,13 @@ public class AuthenticationWebFilterTests { | |||
| 
 | ||||
| 		WebTestClient client = WebTestClientBuilder | ||||
| 			.bindToWebFilters(this.filter) | ||||
| 			.filter(basicAuthentication()) | ||||
| 			.build(); | ||||
| 
 | ||||
| 		EntityExchangeResult<String> result = client | ||||
| 			.mutate() | ||||
| 			.filter(basicAuthentication("test","this")) | ||||
| 			.build() | ||||
| 			.get() | ||||
| 			.uri("/") | ||||
| 			.attributes(basicAuthenticationCredentials("test", "this")) | ||||
| 			.exchange() | ||||
| 			.expectStatus().isOk() | ||||
| 			.expectBody(String.class).consumeWith(b -> assertThat(b.getResponseBody()).isEqualTo("ok")) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue