Commit e807d225028ef49d78958042336ed51022dbda86
1 parent
1a369053
test: realistischere Testdaten und loginUser()-Test (WIP)
Showing
2 changed files
with
33 additions
and
4 deletions
src/test/java/net/ziemers/swxercise/lg/user/service/UserServiceTest.java
| @@ -10,12 +10,14 @@ import net.ziemers.swxercise.lg.user.dto.UserDto; | @@ -10,12 +10,14 @@ import net.ziemers.swxercise.lg.user.dto.UserDto; | ||
| 10 | 10 | ||
| 11 | import static org.junit.Assert.*; | 11 | import static org.junit.Assert.*; |
| 12 | 12 | ||
| 13 | +import org.jglue.cdiunit.AdditionalClasses; | ||
| 13 | import org.jglue.cdiunit.CdiRunner; | 14 | import org.jglue.cdiunit.CdiRunner; |
| 15 | +import org.jglue.cdiunit.InSessionScope; | ||
| 14 | import org.junit.Before; | 16 | import org.junit.Before; |
| 15 | import org.junit.Test; | 17 | import org.junit.Test; |
| 16 | import org.junit.runner.RunWith; | 18 | import org.junit.runner.RunWith; |
| 17 | 19 | ||
| 18 | -/* | 20 | +/** |
| 19 | * Testing your Java CDI application with CDI-Unit couldn't be easier. | 21 | * Testing your Java CDI application with CDI-Unit couldn't be easier. |
| 20 | * Just specify @RunWith(CdiRunner.class) on your JUnit test class | 22 | * Just specify @RunWith(CdiRunner.class) on your JUnit test class |
| 21 | * to enable injection directly into the test class. | 23 | * to enable injection directly into the test class. |
| @@ -25,10 +27,12 @@ import org.junit.runner.RunWith; | @@ -25,10 +27,12 @@ import org.junit.runner.RunWith; | ||
| 25 | * there, however CDI-Unit has extra support for Mockito @Mock annotations. | 27 | * there, however CDI-Unit has extra support for Mockito @Mock annotations. |
| 26 | */ | 28 | */ |
| 27 | @RunWith(CdiRunner.class) | 29 | @RunWith(CdiRunner.class) |
| 30 | +@AdditionalClasses(SessionContext.class) | ||
| 28 | public class UserServiceTest extends JpaTestUtils { | 31 | public class UserServiceTest extends JpaTestUtils { |
| 29 | 32 | ||
| 30 | private static String USERNAME_TEST = "username_test"; | 33 | private static String USERNAME_TEST = "username_test"; |
| 31 | private static String EXISTING_USERNAME_TEST = "username_profile"; | 34 | private static String EXISTING_USERNAME_TEST = "username_profile"; |
| 35 | + private static String EXISTING_PASSWORD_TEST = "secret"; | ||
| 32 | private static Long EXISTING_USER_ID = 2L; | 36 | private static Long EXISTING_USER_ID = 2L; |
| 33 | 37 | ||
| 34 | private static boolean dbInitialized; | 38 | private static boolean dbInitialized; |
| @@ -52,6 +56,20 @@ public class UserServiceTest extends JpaTestUtils { | @@ -52,6 +56,20 @@ public class UserServiceTest extends JpaTestUtils { | ||
| 52 | } | 56 | } |
| 53 | } | 57 | } |
| 54 | 58 | ||
| 59 | +// @Test | ||
| 60 | +// @InSessionScope | ||
| 61 | +// public void testLoginUserReturnsSuccess() { | ||
| 62 | +// | ||
| 63 | +// given() | ||
| 64 | +// .userDto(EXISTING_USERNAME_TEST); | ||
| 65 | +// | ||
| 66 | +// when() | ||
| 67 | +// .loginUser(EXISTING_PASSWORD_TEST); | ||
| 68 | +// | ||
| 69 | +// then() | ||
| 70 | +// .assertLoginSuccess(); | ||
| 71 | +// } | ||
| 72 | + | ||
| 55 | @Test | 73 | @Test |
| 56 | public void testCreateUserReturnsSuccess() { | 74 | public void testCreateUserReturnsSuccess() { |
| 57 | 75 | ||
| @@ -66,7 +84,7 @@ public class UserServiceTest extends JpaTestUtils { | @@ -66,7 +84,7 @@ public class UserServiceTest extends JpaTestUtils { | ||
| 66 | } | 84 | } |
| 67 | 85 | ||
| 68 | @Test | 86 | @Test |
| 69 | - public void testCreateUserReturnsFail() { | 87 | + public void testCreateUserReturnsFailure() { |
| 70 | 88 | ||
| 71 | given() | 89 | given() |
| 72 | .userDto(EXISTING_USERNAME_TEST); | 90 | .userDto(EXISTING_USERNAME_TEST); |
| @@ -110,6 +128,12 @@ public class UserServiceTest extends JpaTestUtils { | @@ -110,6 +128,12 @@ public class UserServiceTest extends JpaTestUtils { | ||
| 110 | return this; | 128 | return this; |
| 111 | } | 129 | } |
| 112 | 130 | ||
| 131 | + private UserServiceTest loginUser(final String password) { | ||
| 132 | + userDto.withPassword(password); | ||
| 133 | + actual = underTest.loginUser(userDto); | ||
| 134 | + return this; | ||
| 135 | + } | ||
| 136 | + | ||
| 113 | private UserServiceTest createUser() { | 137 | private UserServiceTest createUser() { |
| 114 | txBegin(); | 138 | txBegin(); |
| 115 | actual = underTest.createUser(userDto); | 139 | actual = underTest.createUser(userDto); |
| @@ -132,6 +156,10 @@ public class UserServiceTest extends JpaTestUtils { | @@ -132,6 +156,10 @@ public class UserServiceTest extends JpaTestUtils { | ||
| 132 | return this; | 156 | return this; |
| 133 | } | 157 | } |
| 134 | 158 | ||
| 159 | + private void assertLoginSuccess() { | ||
| 160 | + assertTrue(actual); | ||
| 161 | + } | ||
| 162 | + | ||
| 135 | private void assertCreateSuccess() { | 163 | private void assertCreateSuccess() { |
| 136 | // wir suchen den soeben erstellten Benutzer; wenn er existiert, ist alles gut | 164 | // wir suchen den soeben erstellten Benutzer; wenn er existiert, ist alles gut |
| 137 | final User user = userDao.findByUsername(USERNAME_TEST); | 165 | final User user = userDao.findByUsername(USERNAME_TEST); |
src/test/resources/net/ziemers/swxercise/testdata/UserServiceTestData.xml
| 1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
| 2 | <dataset> | 2 | <dataset> |
| 3 | - <!-- die Grosz-/Kleinschreibung scheint unter bestimmten Bedingungen von Bedeutung zu sein! --> | ||
| 4 | - <Profile id="1" username="username_profile" passwordHash="passwordHash_profile" hashAlgorithm="SHA512" salt="salt_profile"/> | 3 | + <!-- die Gross-/Kleinschreibung scheint unter bestimmten Bedingungen von Bedeutung zu sein! --> |
| 4 | + <!-- das Kennwort ist "secret" --> | ||
| 5 | + <Profile id="1" username="username_profile" passwordHash="9EOZEsheQcXixUO/XW/vPwRlZh9NMyHppli2qKe3U9+Y0EHhtJU1AA56pkduCGsSbp8VZ7so/62+3cftxBhJGg==" hashAlgorithm="SHA512" salt="FuQll2Av59se1r1Dc4WEPDmzZw4="/> | ||
| 5 | <User id="2" firstname="firstname_user" lastname="lastname_user" profile_id="1"/> | 6 | <User id="2" firstname="firstname_user" lastname="lastname_user" profile_id="1"/> |
| 6 | </dataset> | 7 | </dataset> |