|
|
|
|
@ -51,6 +51,7 @@ import static org.assertj.core.api.Assertions.assertThatCode;
@@ -51,6 +51,7 @@ import static org.assertj.core.api.Assertions.assertThatCode;
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @author Rob Winch |
|
|
|
|
* @author Jesús Ascama Arias |
|
|
|
|
*/ |
|
|
|
|
@ContextConfiguration |
|
|
|
|
@RunWith(SpringRunner.class) |
|
|
|
|
@ -167,6 +168,21 @@ public class RSocketMessageHandlerConnectionITests {
@@ -167,6 +168,21 @@ public class RSocketMessageHandlerConnectionITests {
|
|
|
|
|
// .isInstanceOf(RejectedSetupException.class);
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void connectionDenied() { |
|
|
|
|
UsernamePasswordMetadata credentials = new UsernamePasswordMetadata("user", "password"); |
|
|
|
|
this.requester = requester() |
|
|
|
|
.setupMetadata(credentials, UsernamePasswordMetadata.BASIC_AUTHENTICATION_MIME_TYPE) |
|
|
|
|
.connectTcp(this.server.address().getHostName(), this.server.address().getPort()) |
|
|
|
|
.block(); |
|
|
|
|
|
|
|
|
|
assertThatCode(() -> this.requester.route("prohibit") |
|
|
|
|
.data("data") |
|
|
|
|
.retrieveMono(String.class) |
|
|
|
|
.block()) |
|
|
|
|
.isInstanceOf(ApplicationErrorException.class); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private RSocketRequester.Builder requester() { |
|
|
|
|
return RSocketRequester.builder() |
|
|
|
|
.rsocketStrategies(this.handler.getRSocketStrategies()); |
|
|
|
|
@ -225,6 +241,7 @@ public class RSocketMessageHandlerConnectionITests {
@@ -225,6 +241,7 @@ public class RSocketMessageHandlerConnectionITests {
|
|
|
|
|
.setup().hasRole("SETUP") |
|
|
|
|
.route("secure.admin.*").hasRole("ADMIN") |
|
|
|
|
.route("secure.**").hasRole("USER") |
|
|
|
|
.route("prohibit").denyAll() |
|
|
|
|
.anyRequest().permitAll() |
|
|
|
|
) |
|
|
|
|
.basicAuthentication(Customizer.withDefaults()); |
|
|
|
|
|