Проблем с bad_credentials и тест:)
Closed this issue · 2 comments
KristiyanVasilev96 commented
Здравей, проблемът е следния при логване с несъществуващ юзър не излизат bad_credentials и не съм сигурен как точно да го оправя:)
2-рия проблем е при тестването когато пусна всички тестове получавам при теста с регистрацията следното:query did not return a unique result: 2
luchob commented
Привет!
Относно проблем 1. В секюрити конфигурацията позволи /users/login-error
и после мапинга в контролера ти е грешен.
@Controller
@RequestMapping("/users")
public class UserController {
....
@PostMapping("/users/login-error")
...
`
Което прави `/users/users/login-error` :-)
luchob commented
Относно проблем номер 2, допускам че това е причината:
return userRepository.
findByEmail(username).
Когато пускаш тестовете, те може да споделят 1 котекст и 1 база. Т.е. един тест може да е създал user с имейл user@example.com, после тест 2 също. Разбира се, в този случай:
Optional<UserEntity> findByEmail(String email);
не знае какво да прави и... гърми.
Няколко препоръки:
- Конфигурирай in memory база в тестовото application.yaml, както е в mobilele.
- Ако пускаш тест може да е добра практика в
@AfterEach
да изтриеш създадените юзъри. Така нестовете няма да си пречат един на друг. - По време на тестовете също (може да) се изпълнява data.sql
Поздрави,
Л.