|
51 | 51 |
|
52 | 52 | /**
|
53 | 53 | * @author Rob Winch
|
| 54 | + * @author Luis Felipe Vega |
54 | 55 | */
|
55 | 56 | @ContextConfiguration
|
56 | 57 | @RunWith(SpringRunner.class)
|
@@ -135,6 +136,23 @@ public void routeWhenStreamCredentialsAuthorized() {
|
135 | 136 | assertThat(hiRob).isEqualTo("Hi rob");
|
136 | 137 | }
|
137 | 138 |
|
| 139 | + @Test |
| 140 | + public void routeWhenStreamCredentialsHaveAuthority() { |
| 141 | + UsernamePasswordMetadata connectCredentials = new UsernamePasswordMetadata("user", "password"); |
| 142 | + this.requester = requester() |
| 143 | + .setupMetadata(connectCredentials, UsernamePasswordMetadata.BASIC_AUTHENTICATION_MIME_TYPE) |
| 144 | + .connectTcp(this.server.address().getHostName(), this.server.address().getPort()) |
| 145 | + .block(); |
| 146 | + |
| 147 | + String hiUser = this.requester.route("secure.authority.retrieve-mono") |
| 148 | + .metadata(new UsernamePasswordMetadata("admin", "password"), UsernamePasswordMetadata.BASIC_AUTHENTICATION_MIME_TYPE) |
| 149 | + .data("Felipe") |
| 150 | + .retrieveMono(String.class) |
| 151 | + .block(); |
| 152 | + |
| 153 | + assertThat(hiUser).isEqualTo("Hi Felipe"); |
| 154 | + } |
| 155 | + |
138 | 156 | @Test
|
139 | 157 | public void connectWhenNotAuthenticated() {
|
140 | 158 | this.requester = requester()
|
@@ -225,6 +243,7 @@ PayloadSocketAcceptorInterceptor rsocketInterceptor(RSocketSecurity rsocket) {
|
225 | 243 | .setup().hasRole("SETUP")
|
226 | 244 | .route("secure.admin.*").hasRole("ADMIN")
|
227 | 245 | .route("secure.**").hasRole("USER")
|
| 246 | + .route("secure.authority.*").hasAuthority("ROLE_USER") |
228 | 247 | .anyRequest().permitAll()
|
229 | 248 | )
|
230 | 249 | .basicAuthentication(Customizer.withDefaults());
|
|
0 commit comments