Skip to content

Commit 09e4584

Browse files
committed
UserServiceTest: test that addRegistrationRequest() and registerUser() generates unique values.
1 parent a028888 commit 09e4584

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

src/test/java/ru/mystamps/web/service/UserServiceTest.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import static org.mockito.Mockito.verify;
3535
import static org.mockito.Mockito.any;
3636
import static org.mockito.Mockito.anyString;
37+
import static org.mockito.Mockito.atLeastOnce;
3738
import static org.mockito.Mockito.never;
3839
import static org.mockito.Mockito.when;
3940

@@ -94,6 +95,19 @@ public void addRegistrationRequestShouldGenerateActivationKey() {
9495
assertThat(activationKey).matches("^[\\p{Lower}\\p{Digit}]+$");
9596
}
9697

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+
97111
@Test(expected = IllegalArgumentException.class)
98112
public void addRegistrationRequestShouldThrowExceptionWhenEmailIsNull() {
99113
service.addRegistrationRequest(null);
@@ -246,6 +260,21 @@ public void registerUserShouldGenerateSalt() {
246260
assertThat(salt).matches("^[\\p{Alnum}]+$");
247261
}
248262

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+
249278
@Test(expected = IllegalArgumentException.class)
250279
public void registerUserShouldThrowExceptionWhenPasswordIsNull() {
251280
service.registerUser(TEST_LOGIN, null, TEST_NAME, TEST_ACTIVATION_KEY);

0 commit comments

Comments
 (0)