Revision 8cb8fc5c
Added by Andreas Kohlbecker over 2 years ago
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/security/AccountRegistrationServiceTest.java | ||
---|---|---|
68 | 68 |
private IAccountRegistrationService accountRegistrationService; |
69 | 69 |
|
70 | 70 |
@SpringBeanByName |
71 |
private IAbstractRequestTokenStore<AccountCreationRequest> accountCreationRequestTokenStore; |
|
71 |
private IAbstractRequestTokenStore<AccountCreationRequest, Object> accountCreationRequestTokenStore;
|
|
72 | 72 |
|
73 | 73 |
@SpringBeanByType |
74 | 74 |
private JavaMailSender emailSender; |
... | ... | |
127 | 127 |
createRequestTokenSendSignal = new CountDownLatch(1); |
128 | 128 |
accountCreatedSignal = new CountDownLatch(1); |
129 | 129 |
|
130 |
ListenableFuture<Boolean> emailResetFuture = accountRegistrationService.emailAccountRegistrationRequest(userEmail, userName, userPWD, requestFormUrlTemplate);
|
|
130 |
ListenableFuture<Boolean> emailResetFuture = accountRegistrationService.emailAccountRegistrationRequest(userEmail, requestFormUrlTemplate); |
|
131 | 131 |
emailResetFuture.addCallback( |
132 | 132 |
requestSuccessVal -> { |
133 | 133 |
createRequestTokenSendSignal.countDown(); |
... | ... | |
162 | 162 |
assertEquals(AbstractRequestTokenStore.TOKEN_LENGTH + 17, m.group(1).length()); |
163 | 163 |
|
164 | 164 |
// -- change password |
165 |
ListenableFuture<Boolean> createAccountFuture = accountRegistrationService.createUserAccount(m.group(1), "Testor", "Nutzer", "Dr."); |
|
165 |
ListenableFuture<Boolean> createAccountFuture = accountRegistrationService.createUserAccount(m.group(1), userName, userPWD, "Testor", "Nutzer", "Dr.");
|
|
166 | 166 |
createAccountFuture.addCallback(requestSuccessVal -> { |
167 | 167 |
accountCreatedSignal.countDown(); |
168 | 168 |
}, futureException -> { |
... | ... | |
188 | 188 |
createRequestTokenSendSignal = new CountDownLatch(1); |
189 | 189 |
|
190 | 190 |
accountRegistrationService.setRateLimiterTimeout(Duration.ofMillis(1)); // as should as possible to allow the fist call to be successful (with 1ns the fist call fails!) |
191 |
ListenableFuture<Boolean> emailResetFuture = accountRegistrationService.emailAccountRegistrationRequest("not-a-valid-email@#address#", userName, userPWD, requestFormUrlTemplate);
|
|
191 |
ListenableFuture<Boolean> emailResetFuture = accountRegistrationService.emailAccountRegistrationRequest("not-a-valid-email@#address#", requestFormUrlTemplate); |
|
192 | 192 |
emailResetFuture.addCallback( |
193 | 193 |
requestSuccessVal -> { |
194 | 194 |
createRequestTokenSendSignal.countDown(); |
... | ... | |
214 | 214 |
accountCreatedSignal = new CountDownLatch(1); |
215 | 215 |
|
216 | 216 |
// -- change password |
217 |
ListenableFuture<Boolean> resetPasswordFuture = accountRegistrationService.createUserAccount("IUER9843URIO--INVALID-TOKEN--UWEUR89EUWWEOIR", userName, null, null); |
|
217 |
ListenableFuture<Boolean> resetPasswordFuture = accountRegistrationService.createUserAccount("IUER9843URIO--INVALID-TOKEN--UWEUR89EUWWEOIR", userName, userPWD, null, null, null);
|
|
218 | 218 |
resetPasswordFuture.addCallback(requestSuccessVal -> { |
219 | 219 |
accountCreatedSignal.countDown(); |
220 | 220 |
}, futureException -> { |
... | ... | |
237 | 237 |
|
238 | 238 |
createRequestTokenSendSignal = new CountDownLatch(1); |
239 | 239 |
|
240 |
ListenableFuture<Boolean> emailResetFuture = accountRegistrationService.emailAccountRegistrationRequest(userEmail, "admin", userPWD, requestFormUrlTemplate);
|
|
240 |
ListenableFuture<Boolean> emailResetFuture = accountRegistrationService.emailAccountRegistrationRequest(userEmail, requestFormUrlTemplate); |
|
241 | 241 |
emailResetFuture.addCallback( |
242 | 242 |
requestSuccessVal -> { |
243 | 243 |
createRequestTokenSendSignal.countDown(); |
... | ... | |
249 | 249 |
// -- wait for passwordResetService.emailResetToken() to complete |
250 | 250 |
createRequestTokenSendSignal.await(); |
251 | 251 |
|
252 |
accountCreatedSignal = new CountDownLatch(1); |
|
253 |
|
|
254 |
// -- change password |
|
255 |
ListenableFuture<Boolean> resetPasswordFuture = accountRegistrationService.createUserAccount(userEmail, "admin", userPWD, null, null, null); |
|
256 |
resetPasswordFuture.addCallback(requestSuccessVal -> { |
|
257 |
accountCreatedSignal.countDown(); |
|
258 |
}, futureException -> { |
|
259 |
assyncError = futureException; |
|
260 |
accountCreatedSignal.countDown(); |
|
261 |
}); |
|
262 |
// -- wait for passwordResetService.resetPassword to complete |
|
263 |
accountCreatedSignal.await(); |
|
264 |
|
|
252 | 265 |
assertNotNull(assyncError); |
253 | 266 |
assertEquals(AccountSelfManagementException.class, assyncError.getClass()); |
254 | 267 |
assertEquals(AccountRegistrationService.USER_NAME_EXISTS_MSG, assyncError.getMessage()); |
Also available in: Unified diff
ref #9497 user account self registration: AccountCreationRequest only with email-address