Ich habe daher
hinzugefügt
Code: Select all
org.springframework.boot
spring-boot-starter-oauth2-resource-server
org.springframework.security
spring-security-test
6.5.5
test
- CSRF-Schutz ist in jedem Fall deaktiviert (zustandsloser Ressourcenserver)
- Wenn Web-Sicherheit aktiviert ist, richte ich ein httpSecurity.oauth2ResourceServer und http.authorizeHttpRequests mit Rollenvalidierung.
- Wenn die Websicherheit deaktiviert ist, rufe ich einfach auf:
Code: Select all
httpSecurity.authorizeHttpRequests(auth -> auth.anyRequest().permitAll());
Code: Select all
@RequestMapping(
method = RequestMethod.POST,
value = "/import/{pipeline_name}",
produces = { "application/json" },
consumes = { "application/json" }
)
Der Unit-Test sieht folgendermaßen aus:
Code: Select all
@WebMvcTest(ImportController.class)
class ImportControllerTest {
@Autowired
private MockMvc mockMvc;
// some more beans and an inner @Configuration class which asks for disabled web security
@Test
@WithMockUser
void someTest() throws Exception {
doNothing().when(someService).doesStuff();
this.mockMvc.perform(
post("/import/test")
.with(jwt())
.contentType(MediaType.APPLICATION_JSON)
.content(someBody)
).andExpect(status().isNoContent());
}
Mit dieser Abhängigkeit erhalte ich jedoch einen 404-Status mit den folgenden Protokollen, unabhängig davon, ob ich komplexe Anforderungs-Matcher oder einfach nur „anyRequest().permitALl()“ einrichte:
Code: Select all
o.s.w.s.r.ResourceHttpRequestHandler : Resource not found
.w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource import/test.]
Warum funktioniert die Anforderungszuordnung in diesem Fall nicht mehr?
Mobile version