Project

General

Profile

« Previous | Next » 

Revision 8cb8fc5c

Added by Andreas Kohlbecker over 2 years ago

ref #9497 user account self registration: AccountCreationRequest only with email-address

  • request tokens only with email address possible
  • refactoring request tokens class hierarchy
  • ... and token stores

View differences:

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