Sorry ich habe in der Themenauswahl kein JUnit oder Testing gefunden. Leider gab es auch keine Suchfunktion. Sorry, falls das hier falsch ist.
Ich habe eine Vaadin-Komponente mit Spring Boot. Ich will einen Aufruf ihrer Route testen und dann prüfen, welche Response ich bekomme.
Ursprünglich, wollte ich mit Userrollen testen, ob eine geschützte Route auch noch geschützt ist. Aber wusste nicht, dass selbst das einfache Prüfen der Response solche Probleme bereitet. Ich habe schon so viele Sachen versucht, ich weiß gar nicht mehr, was ich nicht versucht habe.
MethodUsedEditView.java
Und dazu die Testklasse AuthorizationTest.java
Und der Test gibt mir
zurück. Er findet sie nicht und ich weiß nicht wieso. Habe sogar die ganze Route angegeben und auch das half nicht. Denke irgendwas mache ich mit Spring Boot und den Beans nicht richtig, weshalb er die Abhängigkeit nicht herstellen kann oder ich brauche für die Tests eine spezielle Config, von der ich (leider) nichts weiß und wäre sie da, wüsste Spring Boot die View bzw. die zugehörige Route zu triggern.
Ich habe eine Vaadin-Komponente mit Spring Boot. Ich will einen Aufruf ihrer Route testen und dann prüfen, welche Response ich bekomme.
Ursprünglich, wollte ich mit Userrollen testen, ob eine geschützte Route auch noch geschützt ist. Aber wusste nicht, dass selbst das einfache Prüfen der Response solche Probleme bereitet. Ich habe schon so viele Sachen versucht, ich weiß gar nicht mehr, was ich nicht versucht habe.
MethodUsedEditView.java
Java:
@Component
@Scope("prototype")
@RolesAllowed(value = {Role.ROLE_ADMIN})
@Route(value = "methodUsed/create", layout = CustomAppLayout.class)
@ResponseBody
public class MethodUsedEditView extends VerticalLayout implements BeforeEnterObserver {
private final DSLContext dslContext;
private MethodUsedService methodUsedService;
public MethodUsedEditView(DSLContext dslContext, MethodUsedService methodUsedService) {
this.dslContext = dslContext;
this.methodUsedService = methodUsedService;
}
...
}
Und dazu die Testklasse AuthorizationTest.java
Java:
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class AuthorizationTest {
@LocalServerPort
private int port;
private MockMvc mockMvc;
@BeforeEach
public void setUp() {
DSLContext dslContextMock = mock(DSLContext.class);
this.port = 8899;
MethodUsedService methodUsedService = mock(MethodUsedService.class);
this.mockMvc = MockMvcBuilders
.standaloneSetup(new MethodUsedEditView(dslContextMock, methodUsedService))
.build();
}
@Test
//@WithMockUser(roles = "ADMINISTRATOR")
public void testAccessWithCorrectRole() throws Exception {
mockMvc.perform(get("localhost:" + port + "/prf2/methodUsed/create")).andExpect(status().isOk());
}
}
Und der Test gibt mir
Java:
java.lang.AssertionError: Status expected:[200] but was:[404]