|
34 | 34 | import static org.mockito.Mockito.verify;
|
35 | 35 | import static org.mockito.Mockito.any;
|
36 | 36 | import static org.mockito.Mockito.anyString;
|
| 37 | +import static org.mockito.Mockito.atLeastOnce; |
37 | 38 | import static org.mockito.Mockito.never;
|
38 | 39 | import static org.mockito.Mockito.when;
|
39 | 40 |
|
@@ -94,6 +95,19 @@ public void addRegistrationRequestShouldGenerateActivationKey() {
|
94 | 95 | assertThat(activationKey).matches("^[\\p{Lower}\\p{Digit}]+$");
|
95 | 96 | }
|
96 | 97 |
|
| 98 | + @Test |
| 99 | + public void addRegistrationRequestShouldGenerateUniqueActivationKey() { |
| 100 | + service.addRegistrationRequest(TEST_EMAIL); |
| 101 | + verify(usersActivationDao).add(activationCaptor.capture()); |
| 102 | + final String firstActivationKey = activationCaptor.getValue().getActivationKey(); |
| 103 | + |
| 104 | + service.addRegistrationRequest(TEST_EMAIL); |
| 105 | + verify(usersActivationDao, atLeastOnce()).add(activationCaptor.capture()); |
| 106 | + final String secondActivationKey = activationCaptor.getValue().getActivationKey(); |
| 107 | + |
| 108 | + assertThat(firstActivationKey).isNotEqualTo(secondActivationKey); |
| 109 | + } |
| 110 | + |
97 | 111 | @Test(expected = IllegalArgumentException.class)
|
98 | 112 | public void addRegistrationRequestShouldThrowExceptionWhenEmailIsNull() {
|
99 | 113 | service.addRegistrationRequest(null);
|
@@ -246,6 +260,21 @@ public void registerUserShouldGenerateSalt() {
|
246 | 260 | assertThat(salt).matches("^[\\p{Alnum}]+$");
|
247 | 261 | }
|
248 | 262 |
|
| 263 | + @Test |
| 264 | + public void registerUserShouldGenerateUniqueSalt() { |
| 265 | + when(usersActivationDao.findByActivationKey(anyString())).thenReturn(getUsersActivation()); |
| 266 | + |
| 267 | + service.registerUser(TEST_LOGIN, TEST_PASSWORD, TEST_NAME, TEST_ACTIVATION_KEY); |
| 268 | + verify(userDao).add(userCaptor.capture()); |
| 269 | + final String firstSalt = userCaptor.getValue().getSalt(); |
| 270 | + |
| 271 | + service.registerUser(TEST_LOGIN, TEST_PASSWORD, TEST_NAME, TEST_ACTIVATION_KEY); |
| 272 | + verify(userDao, atLeastOnce()).add(userCaptor.capture()); |
| 273 | + final String secondSalt = userCaptor.getValue().getSalt(); |
| 274 | + |
| 275 | + assertThat(firstSalt).isNotEqualTo(secondSalt); |
| 276 | + } |
| 277 | + |
249 | 278 | @Test(expected = IllegalArgumentException.class)
|
250 | 279 | public void registerUserShouldThrowExceptionWhenPasswordIsNull() {
|
251 | 280 | service.registerUser(TEST_LOGIN, null, TEST_NAME, TEST_ACTIVATION_KEY);
|
|
0 commit comments