Cześć,
Posiadam klasę SessionDeletionImpl
, której zadaniem jest usuwanie sesji. Napisałem testy do niej, w których sprawdzam, czy sesja jest prawidłowo usuwana. Tej klasy używam w kontrolerze LogoutController
- w momencie wylogowania usuwam sesję. Czy w testach kontrolera, powinienem napisać test, który sprawdza, czy po wylogowaniu sesja rzeczywiście zostaje usunięta? - mam tutaj na myśli test, który strzela do bazy, i sprawdza czy sesja istnieje. Czy wystarczy ten test klasy SessionDeletionImpl
?
Myślałem o czymś takim:
@Test
void whenLogoutSuccess_DeleteSession() throws Exception {
Cookie sessionCookie = authHelper.loginRegularUser();
String sessionId = tokenHasher.generateHashedToken(sessionCookie.getValue());
assertThat(session.sessionExist(sessionId)).isTrue();
mockMvc.perform(post("/api/v1/users/logout").cookie(sessionCookie))
.andExpect(status().isOk());
assertThat(session.sessionExist(sessionId)).isFalse();
}
Dzięki za pomoc