Skip to content

Commit fab1265

Browse files
committed
Hibernate user service task done
1 parent 1e0266d commit fab1265

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

src/main/java/mate/academy/Main.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22

33
import java.time.LocalDate;
44
import java.time.LocalDateTime;
5+
import mate.academy.exception.AuthenticationException;
6+
import mate.academy.exception.RegistrationException;
57
import mate.academy.lib.Injector;
68
import mate.academy.model.CinemaHall;
79
import mate.academy.model.Movie;
810
import mate.academy.model.MovieSession;
11+
import mate.academy.service.AuthenticationService;
912
import mate.academy.service.CinemaHallService;
1013
import mate.academy.service.MovieService;
1114
import mate.academy.service.MovieSessionService;
@@ -57,5 +60,37 @@ public static void main(String[] args) {
5760
System.out.println(movieSessionService.get(yesterdayMovieSession.getId()));
5861
System.out.println(movieSessionService.findAvailableSessions(
5962
fastAndFurious.getId(), LocalDate.now()));
63+
64+
String correctEmail = "correct@email.com";
65+
String incorrectEmail = "incorrect@email.com";
66+
String correctPassword = "correctPassword";
67+
String incorrectPassword = "incorrectPassword";
68+
AuthenticationService authenticationService =
69+
(AuthenticationService) injector.getInstance(AuthenticationService.class);
70+
71+
try {
72+
authenticationService.register(correctEmail, correctPassword);
73+
} catch (RegistrationException e) {
74+
throw new RuntimeException(e);
75+
}
76+
77+
try {
78+
authenticationService.login(incorrectEmail, correctPassword);
79+
} catch (AuthenticationException e) {
80+
throw new RuntimeException(e);
81+
}
82+
83+
try {
84+
authenticationService.login(correctEmail, incorrectPassword);
85+
} catch (AuthenticationException e) {
86+
throw new RuntimeException(e);
87+
}
88+
89+
try {
90+
authenticationService.login(correctEmail, correctPassword);
91+
System.out.println("login successful");
92+
} catch (AuthenticationException e) {
93+
throw new RuntimeException(e);
94+
}
6095
}
6196
}

src/main/java/mate/academy/service/impl/AuthenticationServiceImpl.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import mate.academy.model.User;
99
import mate.academy.service.AuthenticationService;
1010
import mate.academy.service.UserService;
11+
import mate.academy.util.HashUtil;
1112

1213
@Service
1314
public class AuthenticationServiceImpl implements AuthenticationService {
@@ -22,7 +23,8 @@ public User login(String email, String password) throws AuthenticationException
2223
+ email + ", password: " + password);
2324
}
2425
User user = userFromDbOptional.get();
25-
if (!user.getPassword().equals(password)) {
26+
String hashedPassword = HashUtil.hashPassword(password, user.getSalt());
27+
if (!user.getPassword().equals(hashedPassword)) {
2628
throw new AuthenticationException("email or password is not correct. email: "
2729
+ email + ", password: " + password);
2830
}

0 commit comments

Comments
 (0)