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 | 10 | |
11 | 11 | import static org.junit.Assert.*; |
12 | 12 | |
13 | +import org.jglue.cdiunit.AdditionalClasses; | |
13 | 14 | import org.jglue.cdiunit.CdiRunner; |
15 | +import org.jglue.cdiunit.InSessionScope; | |
14 | 16 | import org.junit.Before; |
15 | 17 | import org.junit.Test; |
16 | 18 | import org.junit.runner.RunWith; |
17 | 19 | |
18 | -/* | |
20 | +/** | |
19 | 21 | * Testing your Java CDI application with CDI-Unit couldn't be easier. |
20 | 22 | * Just specify @RunWith(CdiRunner.class) on your JUnit test class |
21 | 23 | * to enable injection directly into the test class. |
... | ... | @@ -25,10 +27,12 @@ import org.junit.runner.RunWith; |
25 | 27 | * there, however CDI-Unit has extra support for Mockito @Mock annotations. |
26 | 28 | */ |
27 | 29 | @RunWith(CdiRunner.class) |
30 | +@AdditionalClasses(SessionContext.class) | |
28 | 31 | public class UserServiceTest extends JpaTestUtils { |
29 | 32 | |
30 | 33 | private static String USERNAME_TEST = "username_test"; |
31 | 34 | private static String EXISTING_USERNAME_TEST = "username_profile"; |
35 | + private static String EXISTING_PASSWORD_TEST = "secret"; | |
32 | 36 | private static Long EXISTING_USER_ID = 2L; |
33 | 37 | |
34 | 38 | private static boolean dbInitialized; |
... | ... | @@ -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 | 73 | @Test |
56 | 74 | public void testCreateUserReturnsSuccess() { |
57 | 75 | |
... | ... | @@ -66,7 +84,7 @@ public class UserServiceTest extends JpaTestUtils { |
66 | 84 | } |
67 | 85 | |
68 | 86 | @Test |
69 | - public void testCreateUserReturnsFail() { | |
87 | + public void testCreateUserReturnsFailure() { | |
70 | 88 | |
71 | 89 | given() |
72 | 90 | .userDto(EXISTING_USERNAME_TEST); |
... | ... | @@ -110,6 +128,12 @@ public class UserServiceTest extends JpaTestUtils { |
110 | 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 | 137 | private UserServiceTest createUser() { |
114 | 138 | txBegin(); |
115 | 139 | actual = underTest.createUser(userDto); |
... | ... | @@ -132,6 +156,10 @@ public class UserServiceTest extends JpaTestUtils { |
132 | 156 | return this; |
133 | 157 | } |
134 | 158 | |
159 | + private void assertLoginSuccess() { | |
160 | + assertTrue(actual); | |
161 | + } | |
162 | + | |
135 | 163 | private void assertCreateSuccess() { |
136 | 164 | // wir suchen den soeben erstellten Benutzer; wenn er existiert, ist alles gut |
137 | 165 | final User user = userDao.findByUsername(USERNAME_TEST); | ... | ... |
src/test/resources/net/ziemers/swxercise/testdata/UserServiceTestData.xml
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | 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 | 6 | <User id="2" firstname="firstname_user" lastname="lastname_user" profile_id="1"/> |
6 | 7 | </dataset> | ... | ... |