Jest jakiś szybki sposób na logowanie z autoryzacją na #springboot? Obecnie logowanie działa mi na ciasteczkach, a nie chce marnować dużo czasu na projekt na studia.
#programowanie #java
#programowanie #java
Wszystko
Wszystkie
Archiwum
@test
void whenUserExist_DeleteUser() {
User user = userBuilder.buildById(1).build();
userSaver.save(user);
delete.deleteUserById(1);
assertThat(userChecker.userExist(1)).isFalse();
}
userSaver.save(user);
, to nie stanowi to problemu? Czy jakoś inaczej to zrobić?@Component
public class SessionChecker {
private final DataSource dataSource;
public SessionChecker(DataSource dataSource) {
this.dataSource = dataSource;
}
public boolean checkExistence(String sessionId) {
try {
String query = "SELECT COUNT(*) FROM sessions WHERE session_id = ?";
try (Connection connection = dataSource.getConnection();
PreparedStatement statement = connection.prepareStatement(query)) {
statement.setString(1, sessionId);
ResultSet resultSet = statement.executeQuery();
return resultSet.next() && resultSet.getInt(1) > 0;
}
} catch (SQLException e) {
private boolean checkExistence(String query, PreparedStatement statement)
. Wtedy każda z publicznych metodcheckExistence(String query, Consumer<PreparedStatement> propertySetter) {
try (Connection connection = dataSource.getConnection();
PreparedStatement statement = connection.prepareStatement(query)) {
propertySetter.accept(statement);
ResultSet resultSet = statement.executeQuery();
return resultSet.next() && resultSet.getInt(1) > 0;
} catch (SQLException e) {
throw new RuntimeException("Error during checking existence: " + e.getMessage(), e);
}
public boolean userHasActiveSession(int userId) {
String query = "SELECT COUNT(*) FROM sessions WHERE user_id = ?";
return checkExistence(query, st -> st.setInt(1, userId));
}
public boolean sessionExist(String sessionId)
@test
void testService() {
var film = filmRepository.save(createFilm());
var hall = hallRepository.save(createHall());
screeningRepository.save(createScreening(film, hall));
screeningService.getAllScreenings();
}
@test
void testController() {
var film = filmRepository.save(createFilm());
var hall = hallRepository.save(createHall());
screeningRepository.save(createScreening(film, hall));
webTestClient
.get()
.uri("/public/screenings")
.exchange()
.expectStatus()
.isOk();
}
strzelam, że tutaj dlatego że tworzysz te obiekty na potrzebę testu a tam ich może nie być ale w sumie nie wiem bo widzę tylko wycinek kodu
Wykop.pl
Podróże
Gospodarka
Ukraina
Technologia
Motoryzacja
Sport
Rozrywka
Informacje
Ciekawostki
Tym razem najwięcej dzieje się w WAW, WRO i 3City
On-line (20) - https://crossweb.pl/wydarzenia/online/
Warszawa (11) - https://crossweb.pl/wydarzenia/warszawa/
Wrocław (8) - https://crossweb.pl/wydarzenia/wroclaw/
Trójmiasto (6) - https://crossweb.pl/wydarzenia/trojmiasto/
Kraków (5) - https://crossweb.pl/wydarzenia/krakow/
Lublin (4) - https://crossweb.pl/wydarzenia/lublin/
Łódź (4) - https://crossweb.pl/wydarzenia/lodz/
Katowice (4) - https://crossweb.pl/wydarzenia/katowice/
Poznań (4) - https://crossweb.pl/wydarzenia/poznan/
Kielce (2) - https://crossweb.pl/wydarzenia/kielce/
Bydgoszcz (2) - https://crossweb.pl/wydarzenia/bydgoszcz/
Gliwice (1) - https://crossweb.pl/wydarzenia/gliwice/
Rzeszów (1) - https://crossweb.pl/wydarzenia/rzeszow/
Toruń (1)