@Test(expected = InvalidUserCreateException.class) public void test_should_raise_exception_when_user_is_invalid() throws Exception { org.egov.user.domain.model.User domainUser = org.egov.user.domain.model.User.builder().build(); userService.createUser(domainUser); verify(userRepository, never()).create(any(org.egov.user.domain.model.User.class)); }
public User createUser(User user) { user.setUuid(UUID.randomUUID().toString()); user.validateNewUser(); conditionallyValidateOtp(user); validateUserUniqueness(user); if (isEmpty(user.getPassword())) { user.setPassword(UUID.randomUUID().toString()); } user.setPassword(encryptPwd(user.getPassword())); user.setDefaultPasswordExpiry(defaultPasswordExpiryInDays); user.setTenantId(getStateLevelTenantForCitizen(user.getTenantId(), user.getType())); return persistNewUser(user); }
UserService { public User createUser(User user) { user.setUuid(UUID.randomUUID().toString()); user.validateNewUser(); conditionallyValidateOtp(user); validateUserUniqueness(user); if (isEmpty(user.getPassword())) { user.setPassword(UUID.randomUUID().toString()); } user.setPassword(encryptPwd(user.getPassword())); user.setDefaultPasswordExpiry(defaultPasswordExpiryInDays); user.setTenantId(getStateLevelTenantForCitizen(user.getTenantId(), user.getType())); return persistNewUser(user); } }
UserService { public User createUser(User user) { user.setUuid(UUID.randomUUID().toString()); user.validateNewUser(); conditionallyValidateOtp(user); validateUserUniqueness(user); if (isEmpty(user.getPassword())) { user.setPassword(UUID.randomUUID().toString()); } user.setPassword(encryptPwd(user.getPassword())); user.setDefaultPasswordExpiry(defaultPasswordExpiryInDays); user.setTenantId(getStateLevelTenantForCitizen(user.getTenantId(), user.getType())); return persistNewUser(user); } UserService(UserRepository userRepository, OtpRepository otpRepository, FileStoreRepository fileRepository,
                       PasswordEncoder passwordEncoder, TokenStore tokenStore,
                       @Value("${default.password.expiry.in.days}") int defaultPasswordExpiryInDays,
                       @Value("${citizen.login.password.otp.enabled}") boolean isCitizenLoginOtpBased,
                       @Value("${employee.login.password.otp.enabled}") boolean isEmployeeLoginOtpBased); }
UserService { public User createUser(User user) { user.setUuid(UUID.randomUUID().toString()); user.validateNewUser(); conditionallyValidateOtp(user); validateUserUniqueness(user); if (isEmpty(user.getPassword())) { user.setPassword(UUID.randomUUID().toString()); } user.setPassword(encryptPwd(user.getPassword())); user.setDefaultPasswordExpiry(defaultPasswordExpiryInDays); user.setTenantId(getStateLevelTenantForCitizen(user.getTenantId(), user.getType())); return persistNewUser(user); } UserService(UserRepository userRepository, OtpRepository otpRepository, FileStoreRepository fileRepository,
                       PasswordEncoder passwordEncoder, TokenStore tokenStore,
                       @Value("${default.password.expiry.in.days}") int defaultPasswordExpiryInDays,
                       @Value("${citizen.login.password.otp.enabled}") boolean isCitizenLoginOtpBased,
                       @Value("${employee.login.password.otp.enabled}") boolean isEmployeeLoginOtpBased); User getUniqueUser(String userName, String tenantId, UserType userType); User getUserByUuid(String uuid); List<org.egov.user.domain.model.User> searchUsers(UserSearchCriteria searchCriteria,
                                                             boolean isInterServiceCall); User createUser(User user); User createCitizen(User user); Object registerWithLogin(User user); Boolean validateOtp(User user); User updateWithoutOtpValidation(final User user); void removeTokensByUser(User user); User partialUpdate(final User user); void updatePasswordForLoggedInUser(LoggedInUserUpdatePasswordRequest updatePasswordRequest); void updatePasswordForNonLoggedInUser(NonLoggedInUserUpdatePasswordRequest request); void resetFailedLoginAttempts(User user); boolean isAccountUnlockAble(User user); void handleFailedLogin(User user, String ipAddress); }
UserService { public User createUser(User user) { user.setUuid(UUID.randomUUID().toString()); user.validateNewUser(); conditionallyValidateOtp(user); validateUserUniqueness(user); if (isEmpty(user.getPassword())) { user.setPassword(UUID.randomUUID().toString()); } user.setPassword(encryptPwd(user.getPassword())); user.setDefaultPasswordExpiry(defaultPasswordExpiryInDays); user.setTenantId(getStateLevelTenantForCitizen(user.getTenantId(), user.getType())); return persistNewUser(user); } UserService(UserRepository userRepository, OtpRepository otpRepository, FileStoreRepository fileRepository,
                       PasswordEncoder passwordEncoder, TokenStore tokenStore,
                       @Value("${default.password.expiry.in.days}") int defaultPasswordExpiryInDays,
                       @Value("${citizen.login.password.otp.enabled}") boolean isCitizenLoginOtpBased,
                       @Value("${employee.login.password.otp.enabled}") boolean isEmployeeLoginOtpBased); User getUniqueUser(String userName, String tenantId, UserType userType); User getUserByUuid(String uuid); List<org.egov.user.domain.model.User> searchUsers(UserSearchCriteria searchCriteria,
                                                             boolean isInterServiceCall); User createUser(User user); User createCitizen(User user); Object registerWithLogin(User user); Boolean validateOtp(User user); User updateWithoutOtpValidation(final User user); void removeTokensByUser(User user); User partialUpdate(final User user); void updatePasswordForLoggedInUser(LoggedInUserUpdatePasswordRequest updatePasswordRequest); void updatePasswordForNonLoggedInUser(NonLoggedInUserUpdatePasswordRequest request); void resetFailedLoginAttempts(User user); boolean isAccountUnlockAble(User user); void handleFailedLogin(User user, String ipAddress);  }