Commit 00097b5c80083237d0072d086ca8f6498f4dfb8b

Authored by Thomas Ziemer
1 parent 7c0c2ad7

test: UserService-Tests vervollständigt

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>