Ich habe eine Federauflage mvc Controller, der die URL "/ öffentliche/Rest/Fahrzeug/get" hat. In meiner Sicherheitskonfiguration habe ich definiert, dass alle Anfragen für/public/rest keine Authentifizierung erfordern sollten.SpringBoot @WebMvcTest Sicherheitsproblem
Diese Konfiguration funktioniert einwandfrei, wenn ich meine Anwendung starte und die Anfrage mit einem Browser oder einer anderen Methode absende. Jetzt habe ich eine Testklasse haben, die wie folgt aussieht,
@RunWith(SpringRunner.class)
@WebMvcTest(VehicleController.class)
public class VehicleControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private VehicleService vehicleService;
@Test
public void getVehicle() throws Exception {
given(this.vehicleService.get(0)).
willReturn(new VehicleEquipmentDTO());
this.mockMvc.perform(get("/public/rest/vehicle/get").param("id","0"))
.andDo(print())
.andExpect(status().isOk());//.andExpect(content().string("Honda Civic"));
}}
Nun, wenn ich diesen Test ausführen, heißt es
java.lang.AssertionError: Status
Expected :200
Actual :401
Als ich die Anfrage-Antwort drucken, sehe ich es beschwert sich, weil der Sicherheit. "Fehlermeldung = Vollständige Authentifizierung ist erforderlich, um auf diese Ressource zuzugreifen" Irgendwelche Ideen, warum es nicht mit der Sicherheitskonfiguration funktioniert, die ich habe, und was ist die Arbeit um es zu zwingen, die richtigen Konfigurationen zu verwenden? Vielen Dank im Voraus