Commit 00097b5c80083237d0072d086ca8f6498f4dfb8b
1 parent
7c0c2ad7
test: UserService-Tests vervollständigt
Showing
3 changed files
with
96 additions
and
10 deletions
src/test/java/net/ziemers/swxercise/lg/user/service/UserServiceTest.java
| 1 | package net.ziemers.swxercise.lg.user.service; | 1 | package net.ziemers.swxercise.lg.user.service; |
| 2 | 2 | ||
| 3 | +import java.util.Arrays; | ||
| 4 | +import java.util.HashSet; | ||
| 5 | +import java.util.Set; | ||
| 3 | import javax.inject.Inject; | 6 | import javax.inject.Inject; |
| 4 | 7 | ||
| 5 | import net.ziemers.swxercise.db.dao.user.UserDao; | 8 | import net.ziemers.swxercise.db.dao.user.UserDao; |
| @@ -167,18 +170,80 @@ public class UserServiceTest extends JpaTestUtils { | @@ -167,18 +170,80 @@ public class UserServiceTest extends JpaTestUtils { | ||
| 167 | } | 170 | } |
| 168 | 171 | ||
| 169 | @Test | 172 | @Test |
| 170 | - public void testDeleteUserReturnsSuccess() { | 173 | + public void testDeleteUnknownUserByIdReturnsFailure() { |
| 171 | // TODO Test ist noch zu implementieren | 174 | // TODO Test ist noch zu implementieren |
| 172 | } | 175 | } |
| 173 | 176 | ||
| 174 | @Test | 177 | @Test |
| 175 | - public void testIsUserAllowedReturnsSuccess() { | 178 | + public void testDeleteSessionUserReturnsSuccess() { |
| 176 | // TODO Test ist noch zu implementieren | 179 | // TODO Test ist noch zu implementieren |
| 177 | } | 180 | } |
| 178 | 181 | ||
| 179 | @Test | 182 | @Test |
| 180 | - public void testIsUserAllowedReturnsFailure() { | ||
| 181 | - // TODO Test ist noch zu implementieren | 183 | + @InRequestScope |
| 184 | + public void testIsNotLoggedInUserAllowedReturnsSuccess() { | ||
| 185 | + | ||
| 186 | + when() | ||
| 187 | + .isUserAllowed(new HashSet<String>(Arrays.asList("NOT_LOGGED_IN"))); | ||
| 188 | + | ||
| 189 | + then() | ||
| 190 | + .assertIsUserAllowedSuccess(); | ||
| 191 | + } | ||
| 192 | + | ||
| 193 | + @Test | ||
| 194 | + @InRequestScope | ||
| 195 | + public void testIsNotLoggedInUserAllowedReturnsFailure() { | ||
| 196 | + | ||
| 197 | + when() | ||
| 198 | + .isUserAllowed(new HashSet<String>(Arrays.asList("LOGGED_IN"))); | ||
| 199 | + | ||
| 200 | + then() | ||
| 201 | + .assertIsUserAllowedFailure(); | ||
| 202 | + } | ||
| 203 | + | ||
| 204 | + @Test | ||
| 205 | + @InRequestScope | ||
| 206 | + public void testIsSessionUserAllowedReturnsSuccess() { | ||
| 207 | + | ||
| 208 | + given() | ||
| 209 | + .userDto(EXISTING_USERNAME_TEST) | ||
| 210 | + .loginUser(EXISTING_PASSWORD_TEST); | ||
| 211 | + | ||
| 212 | + when() | ||
| 213 | + .isUserAllowed(new HashSet<String>(Arrays.asList("LOGGED_IN"))); | ||
| 214 | + | ||
| 215 | + then() | ||
| 216 | + .assertIsUserAllowedSuccess(); | ||
| 217 | + } | ||
| 218 | + | ||
| 219 | + @Test | ||
| 220 | + @InRequestScope | ||
| 221 | + public void testIsAdminUserAllowedReturnsSuccess() { | ||
| 222 | + | ||
| 223 | + given() | ||
| 224 | + .userDto(EXISTING_USERNAME_TEST) | ||
| 225 | + .loginUser(EXISTING_PASSWORD_TEST); | ||
| 226 | + | ||
| 227 | + when() | ||
| 228 | + .isUserAllowed(new HashSet<String>(Arrays.asList("ADMIN"))); | ||
| 229 | + | ||
| 230 | + then() | ||
| 231 | + .assertIsUserAllowedSuccess(); | ||
| 232 | + } | ||
| 233 | + | ||
| 234 | + @Test | ||
| 235 | + @InRequestScope | ||
| 236 | + public void testIsUserWithUnknownRoleAllowedReturnsFailure() { | ||
| 237 | + | ||
| 238 | + given() | ||
| 239 | + .userDto(EXISTING_USERNAME_TEST) | ||
| 240 | + .loginUser(EXISTING_PASSWORD_TEST); | ||
| 241 | + | ||
| 242 | + when() | ||
| 243 | + .isUserAllowed(new HashSet<String>(Arrays.asList("UNKNOWN_ROLE"))); | ||
| 244 | + | ||
| 245 | + then() | ||
| 246 | + .assertIsUserAllowedFailure(); | ||
| 182 | } | 247 | } |
| 183 | 248 | ||
| 184 | // given | 249 | // given |
| @@ -237,6 +302,11 @@ public class UserServiceTest extends JpaTestUtils { | @@ -237,6 +302,11 @@ public class UserServiceTest extends JpaTestUtils { | ||
| 237 | return this; | 302 | return this; |
| 238 | } | 303 | } |
| 239 | 304 | ||
| 305 | + private UserServiceTest isUserAllowed(final Set<String> rightsSet) { | ||
| 306 | + actual = underTest.isUserAllowed(rightsSet); | ||
| 307 | + return this; | ||
| 308 | + } | ||
| 309 | + | ||
| 240 | // then | 310 | // then |
| 241 | 311 | ||
| 242 | private UserServiceTest then() { | 312 | private UserServiceTest then() { |
| @@ -276,4 +346,12 @@ public class UserServiceTest extends JpaTestUtils { | @@ -276,4 +346,12 @@ public class UserServiceTest extends JpaTestUtils { | ||
| 276 | assertEquals(EXISTING_USERNAME_TEST, user.getProfile().getUsername()); | 346 | assertEquals(EXISTING_USERNAME_TEST, user.getProfile().getUsername()); |
| 277 | } | 347 | } |
| 278 | 348 | ||
| 349 | + private void assertIsUserAllowedSuccess() { | ||
| 350 | + assertTrue(actual); | ||
| 351 | + } | ||
| 352 | + | ||
| 353 | + private void assertIsUserAllowedFailure() { | ||
| 354 | + assertFalse(actual); | ||
| 355 | + } | ||
| 356 | + | ||
| 279 | } | 357 | } |
src/test/java/net/ziemers/swxercise/ui/UserViewControllerTest.java
| @@ -77,7 +77,7 @@ public class UserViewControllerTest { | @@ -77,7 +77,7 @@ public class UserViewControllerTest { | ||
| 77 | } | 77 | } |
| 78 | 78 | ||
| 79 | @Test | 79 | @Test |
| 80 | - public void testGetUserReturnsUserJson() { | 80 | + public void testGetSessionUserReturnsUserJson() { |
| 81 | 81 | ||
| 82 | doing() | 82 | doing() |
| 83 | .getUser(); | 83 | .getUser(); |
| @@ -113,7 +113,7 @@ public class UserViewControllerTest { | @@ -113,7 +113,7 @@ public class UserViewControllerTest { | ||
| 113 | } | 113 | } |
| 114 | 114 | ||
| 115 | @Test | 115 | @Test |
| 116 | - public void testUpdateLoggedInUserReturnsSuccess() { | 116 | + public void testUpdateSessionUserReturnsSuccess() { |
| 117 | 117 | ||
| 118 | given() | 118 | given() |
| 119 | .userDto(); | 119 | .userDto(); |
| @@ -126,7 +126,7 @@ public class UserViewControllerTest { | @@ -126,7 +126,7 @@ public class UserViewControllerTest { | ||
| 126 | } | 126 | } |
| 127 | 127 | ||
| 128 | @Test | 128 | @Test |
| 129 | - public void testUpdateSpecificUserReturnsSuccess() { | 129 | + public void testUpdateUserByIdReturnsSuccess() { |
| 130 | 130 | ||
| 131 | given() | 131 | given() |
| 132 | .userDto(); | 132 | .userDto(); |
| @@ -144,6 +144,11 @@ public class UserViewControllerTest { | @@ -144,6 +144,11 @@ public class UserViewControllerTest { | ||
| 144 | } | 144 | } |
| 145 | 145 | ||
| 146 | @Test | 146 | @Test |
| 147 | + public void testDeleteUnknownUserByIdReturnsFailure() { | ||
| 148 | + // TODO Test ist noch zu implementieren | ||
| 149 | + } | ||
| 150 | + | ||
| 151 | + @Test | ||
| 147 | public void testDeleteSessionUserReturnsSuccess() { | 152 | public void testDeleteSessionUserReturnsSuccess() { |
| 148 | // TODO Test ist noch zu implementieren | 153 | // TODO Test ist noch zu implementieren |
| 149 | } | 154 | } |
| @@ -162,7 +167,7 @@ public class UserViewControllerTest { | @@ -162,7 +167,7 @@ public class UserViewControllerTest { | ||
| 162 | } | 167 | } |
| 163 | 168 | ||
| 164 | @Test | 169 | @Test |
| 165 | - public void testLoginNonExistingUserReturnsFailure() { | 170 | + public void testLoginUserReturnsFailure() { |
| 166 | 171 | ||
| 167 | given() | 172 | given() |
| 168 | .userDto(); | 173 | .userDto(); |
| @@ -195,7 +200,7 @@ public class UserViewControllerTest { | @@ -195,7 +200,7 @@ public class UserViewControllerTest { | ||
| 195 | return this; | 200 | return this; |
| 196 | } | 201 | } |
| 197 | 202 | ||
| 198 | - // doing | 203 | + // doing (when) |
| 199 | 204 | ||
| 200 | private UserViewControllerTest doing() { | 205 | private UserViewControllerTest doing() { |
| 201 | return this; | 206 | return this; |
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 | + <Role id="3" name="name_role_empty"/> | ||
| 4 | + <Role id="4" name="name_role_admin"/> | ||
| 5 | + <Role_rights Role_id="4" rights="ADMIN"/> | ||
| 3 | <!-- die Gross-/Kleinschreibung scheint unter bestimmten Bedingungen von Bedeutung zu sein! --> | 6 | <!-- die Gross-/Kleinschreibung scheint unter bestimmten Bedingungen von Bedeutung zu sein! --> |
| 4 | <!-- das Kennwort ist "secret" --> | 7 | <!-- das Kennwort ist "secret" --> |
| 5 | - <Profile id="1" username="username_profile" passwordHash="9EOZEsheQcXixUO/XW/vPwRlZh9NMyHppli2qKe3U9+Y0EHhtJU1AA56pkduCGsSbp8VZ7so/62+3cftxBhJGg==" hashAlgorithm="SHA512" salt="FuQll2Av59se1r1Dc4WEPDmzZw4="/> | 8 | + <Profile id="1" role_id="4" username="username_profile" passwordHash="9EOZEsheQcXixUO/XW/vPwRlZh9NMyHppli2qKe3U9+Y0EHhtJU1AA56pkduCGsSbp8VZ7so/62+3cftxBhJGg==" hashAlgorithm="SHA512" salt="FuQll2Av59se1r1Dc4WEPDmzZw4="/> |
| 6 | <User id="2" firstname="firstname_user" lastname="lastname_user" profile_id="1"/> | 9 | <User id="2" firstname="firstname_user" lastname="lastname_user" profile_id="1"/> |
| 7 | </dataset> | 10 | </dataset> |