private SearchWsResponse doHandle(Request request) { try (DbSession dbSession = dbClient.openSession(false)) { UserDto user = userTokenSupport.getUser(dbSession, request); List<UserTokenDto> userTokens = dbClient.userTokenDao().selectByUser(dbSession, user); return buildResponse(user, userTokens); } }
@Test public void delete_tokens_by_user() { UserDto user1 = db.users().insertUser(); UserDto user2 = db.users().insertUser(); db.users().insertToken(user1); db.users().insertToken(user1); db.users().insertToken(user2); underTest.deleteByUser(dbSession, user1); db.commit(); assertThat(underTest.selectByUser(dbSession, user1)).isEmpty(); assertThat(underTest.selectByUser(dbSession, user2)).hasSize(1); }
@Test public void user_can_delete_its_own_tokens() { UserDto user = db.users().insertUser(); UserTokenDto token = db.users().insertToken(user); userSession.logIn(user); String response = newRequest(null, token.getName()); assertThat(response).isEmpty(); assertThat(dbClient.userTokenDao().selectByUser(dbSession, user)).isEmpty(); }
@Test public void deactivate_user_deletes_his_tokens() { logInAsSystemAdministrator(); UserDto user = db.users().insertUser(); db.users().insertToken(user); db.users().insertToken(user); db.commit(); deactivate(user.getLogin()); assertThat(db.getDbClient().userTokenDao().selectByUser(dbSession, user)).isEmpty(); }
@Test public void delete_token_in_db() { logInAsSystemAdministrator(); UserDto user1 = db.users().insertUser(); UserDto user2 = db.users().insertUser(); UserTokenDto tokenToDelete = db.users().insertToken(user1); UserTokenDto tokenToKeep1 = db.users().insertToken(user1); UserTokenDto tokenToKeep2 = db.users().insertToken(user1); UserTokenDto tokenFromAnotherUser = db.users().insertToken(user2); String response = newRequest(user1.getLogin(), tokenToDelete.getName()); assertThat(response).isEmpty(); assertThat(dbClient.userTokenDao().selectByUser(dbSession, user1)) .extracting(UserTokenDto::getName) .containsExactlyInAnyOrder(tokenToKeep1.getName(), tokenToKeep2.getName()); assertThat(dbClient.userTokenDao().selectByUser(dbSession, user2)) .extracting(UserTokenDto::getName) .containsExactlyInAnyOrder(tokenFromAnotherUser.getName()); }
private SearchWsResponse doHandle(Request request) { try (DbSession dbSession = dbClient.openSession(false)) { UserDto user = userTokenSupport.getUser(dbSession, request); List<UserTokenDto> userTokens = dbClient.userTokenDao().selectByUser(dbSession, user); return buildResponse(user, userTokens); } }