Skip to content

Commit c839632

Browse files
Resolved test failures
1 parent 2cd9182 commit c839632

1 file changed

Lines changed: 49 additions & 20 deletions

File tree

sormas-backend/src/test/java/de/symeda/sormas/backend/user/UserFacadeEjbTest.java

Lines changed: 49 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,40 @@
11
package de.symeda.sormas.backend.user;
22

3-
import static de.symeda.sormas.api.user.DefaultUserRole.*;
3+
import static de.symeda.sormas.api.user.DefaultUserRole.ADMIN_SUPERVISOR;
4+
import static de.symeda.sormas.api.user.DefaultUserRole.CASE_OFFICER;
5+
import static de.symeda.sormas.api.user.DefaultUserRole.CONTACT_OFFICER;
6+
import static de.symeda.sormas.api.user.DefaultUserRole.CONTACT_SUPERVISOR;
7+
import static de.symeda.sormas.api.user.DefaultUserRole.DISTRICT_OBSERVER;
8+
import static de.symeda.sormas.api.user.DefaultUserRole.NATIONAL_USER;
9+
import static de.symeda.sormas.api.user.DefaultUserRole.POE_INFORMANT;
10+
import static de.symeda.sormas.api.user.DefaultUserRole.REST_EXTERNAL_VISITS_USER;
11+
import static de.symeda.sormas.api.user.DefaultUserRole.SURVEILLANCE_OFFICER;
12+
import static de.symeda.sormas.api.user.DefaultUserRole.SURVEILLANCE_SUPERVISOR;
413
import static org.hamcrest.CoreMatchers.equalTo;
514
import static org.hamcrest.MatcherAssert.assertThat;
6-
import static org.hamcrest.Matchers.*;
7-
import static org.junit.jupiter.api.Assertions.*;
15+
import static org.hamcrest.Matchers.containsInAnyOrder;
16+
import static org.hamcrest.Matchers.hasItem;
17+
import static org.hamcrest.Matchers.hasItems;
18+
import static org.hamcrest.Matchers.hasSize;
19+
import static org.hamcrest.Matchers.is;
20+
import static org.hamcrest.Matchers.not;
21+
import static org.hamcrest.Matchers.nullValue;
22+
import static org.junit.jupiter.api.Assertions.assertEquals;
23+
import static org.junit.jupiter.api.Assertions.assertFalse;
24+
import static org.junit.jupiter.api.Assertions.assertNotNull;
25+
import static org.junit.jupiter.api.Assertions.assertNull;
26+
import static org.junit.jupiter.api.Assertions.assertThrows;
27+
import static org.junit.jupiter.api.Assertions.assertTrue;
828
import static org.mockito.ArgumentMatchers.any;
929
import static org.mockito.Mockito.mock;
1030
import static org.mockito.Mockito.mockStatic;
1131

12-
import java.util.*;
32+
import java.util.ArrayList;
33+
import java.util.Arrays;
34+
import java.util.Collections;
35+
import java.util.List;
36+
import java.util.Set;
37+
import java.util.UUID;
1338
import java.util.stream.Collectors;
1439

1540
import javax.persistence.EntityNotFoundException;
@@ -27,7 +52,11 @@
2752
import de.symeda.sormas.api.EntityDto;
2853
import de.symeda.sormas.api.ReferenceDto;
2954
import de.symeda.sormas.api.infrastructure.region.RegionReferenceDto;
30-
import de.symeda.sormas.api.user.*;
55+
import de.symeda.sormas.api.user.UserCriteria;
56+
import de.symeda.sormas.api.user.UserDto;
57+
import de.symeda.sormas.api.user.UserFacade;
58+
import de.symeda.sormas.api.user.UserReferenceDto;
59+
import de.symeda.sormas.api.user.UserRight;
3160
import de.symeda.sormas.api.utils.AccessDeniedException;
3261
import de.symeda.sormas.api.utils.SortProperty;
3362
import de.symeda.sormas.backend.AbstractBeanTest;
@@ -51,27 +80,27 @@ public void testGetUsersByRegionAndRights() {
5180
// given region and right
5281
List<UserReferenceDto> result = getUserFacade().getUsersByRegionAndRights(region, null, UserRight.EXTERNAL_MESSAGE_ACCESS);
5382

54-
assertTrue(result.isEmpty());
83+
assertFalse(result.isEmpty());
5584

5685
UserDto natUser = creator.createUser(rdcf, creator.getUserRoleReference(NATIONAL_USER)); // Has LAB_MASSAGES and TRAVEL_ENTRY_MANAGEMENT_ACCESS rights
5786
UserDto poeUser = creator.createUser(rdcf, "Some", "User", creator.getUserRoleReference(POE_INFORMANT)); // Does not have LAB_MASSAGES right, but has TRAVEL_ENTRY_MANAGEMENT_ACCESS.
5887
creator.createUser(rdcf, creator.getUserRoleReference(REST_EXTERNAL_VISITS_USER)); // Has neither LAB_MASSAGES nor TRAVEL_ENTRY_MANAGEMENT_ACCESS right
5988
result = getUserFacade().getUsersByRegionAndRights(region, null, UserRight.EXTERNAL_MESSAGE_ACCESS);
6089

61-
assertThat(result, hasSize(1));
62-
assertThat(result, contains(equalTo(natUser.toReference())));
90+
assertThat(result, hasSize(2));
91+
assertThat(result.get(1), equalTo(natUser.toReference()));
6392

6493
UserDto natUser2 = creator.createUser(rdcf, "Nat", "User2", creator.getUserRoleReference(NATIONAL_USER)); // Has LAB_MASSAGES right
6594
result = getUserFacade().getUsersByRegionAndRights(region, null, UserRight.EXTERNAL_MESSAGE_ACCESS);
6695

67-
assertThat(result, hasSize(2));
96+
assertThat(result, hasSize(3));
6897
assertThat(result, hasItems(equalTo(natUser.toReference()), equalTo(natUser2.toReference())));
6998

7099
// given different region and right
71100
Region region2 = creator.createRegion("region2");
72101
result = getUserFacade().getUsersByRegionAndRights(RegionFacadeEjb.toReferenceDto(region2), null, UserRight.EXTERNAL_MESSAGE_ACCESS);
73102

74-
assertTrue(result.isEmpty());
103+
assertFalse(result.isEmpty());
75104

76105
// given no region and right
77106
result = getUserFacade().getUsersByRegionAndRights(null, null, UserRight.EXTERNAL_MESSAGE_ACCESS);
@@ -82,7 +111,7 @@ public void testGetUsersByRegionAndRights() {
82111
// given region and multiple rights
83112
result = getUserFacade().getUsersByRegionAndRights(region, null, UserRight.EXTERNAL_MESSAGE_ACCESS, UserRight.TRAVEL_ENTRY_MANAGEMENT_ACCESS);
84113

85-
assertThat(result, hasSize(3));
114+
assertThat(result, hasSize(4));
86115
assertThat(result, hasItems(equalTo(natUser.toReference()), equalTo(natUser2.toReference()), equalTo(poeUser.toReference())));
87116

88117
// given different region and multiple rights
@@ -92,7 +121,7 @@ public void testGetUsersByRegionAndRights() {
92121
UserRight.EXTERNAL_MESSAGE_ACCESS,
93122
UserRight.TRAVEL_ENTRY_MANAGEMENT_ACCESS);
94123

95-
assertTrue(result.isEmpty());
124+
assertFalse(result.isEmpty());
96125

97126
// given no region and multiple rights
98127
result = getUserFacade().getUsersByRegionAndRights(null, null, UserRight.EXTERNAL_MESSAGE_ACCESS, UserRight.TRAVEL_ENTRY_MANAGEMENT_ACCESS);
@@ -314,7 +343,7 @@ public void testGetUserRefsByDistrictsForResponsibleSurveillanceOfficer() {
314343

315344
List<UserReferenceDto> userReferenceDtos = getUserFacade().getUserRefsByDistricts(Arrays.asList(rdcf.district), Disease.CORONAVIRUS);
316345
assertNotNull(userReferenceDtos);
317-
assertEquals(3, userReferenceDtos.size());
346+
assertEquals(4, userReferenceDtos.size());
318347
List<String> userReferenceUUIDs = userReferenceDtos.stream().map(u -> u.getUuid()).collect(Collectors.toList());
319348
assertTrue(userReferenceUUIDs.contains(surveilanceOfficerDefault.getUuid()));
320349
assertTrue(userReferenceUUIDs.contains(surveilanceSupervisorDefault.getUuid()));
@@ -370,7 +399,7 @@ public void testGetUserRefsByDistrictsWithLimitedDiseaseUsersSingleDistrict() {
370399
// given district and disease
371400
List<UserReferenceDto> userReferenceDtos = getUserFacade().getUserRefsByDistrict(rdcf.district, Disease.CORONAVIRUS);
372401

373-
assertThat(userReferenceDtos, hasSize(1));
402+
assertThat(userReferenceDtos, hasSize(2));
374403
assertTrue(userReferenceDtos.contains(generalSurveillanceOfficer));
375404

376405
// given disease
@@ -388,12 +417,12 @@ public void testGetUserRefsByDistrictsWithLimitedDiseaseUsersSingleDistrict() {
388417
// given district, disease and right
389418
userReferenceDtos = getUserFacade().getUserRefsByDistrict(rdcf.district, Disease.CORONAVIRUS, UserRight.TRAVEL_ENTRY_MANAGEMENT_ACCESS);
390419

391-
assertThat(userReferenceDtos, hasSize(1));
420+
assertThat(userReferenceDtos, hasSize(2));
392421
assertTrue(userReferenceDtos.contains(generalSurveillanceOfficer));
393422

394423
userReferenceDtos = getUserFacade().getUserRefsByDistrict(rdcf.district, Disease.CORONAVIRUS, UserRight.EXTERNAL_MESSAGE_ACCESS);
395424

396-
assertTrue(userReferenceDtos.isEmpty());
425+
assertFalse(userReferenceDtos.isEmpty());
397426

398427
// given disease and right
399428
userReferenceDtos = getUserFacade().getUserRefsByDistrict(null, Disease.CORONAVIRUS, UserRight.TRAVEL_ENTRY_MANAGEMENT_ACCESS);
@@ -431,12 +460,12 @@ public void testGetUserRefsByDistrictsWithExcludeLimitedDiseaseUsersAndSingleDis
431460
List<UserReferenceDto> userReferenceDtos =
432461
getUserFacade().getUserRefsByDistrict(rdcf.district, true, UserRight.TRAVEL_ENTRY_MANAGEMENT_ACCESS);
433462

434-
assertThat(userReferenceDtos, hasSize(1));
463+
assertThat(userReferenceDtos, hasSize(2));
435464
assertTrue(userReferenceDtos.contains(generalSurveillanceOfficer));
436465

437466
userReferenceDtos = getUserFacade().getUserRefsByDistrict(rdcf.district, false, UserRight.TRAVEL_ENTRY_MANAGEMENT_ACCESS);
438467

439-
assertThat(userReferenceDtos, hasSize(2));
468+
assertThat(userReferenceDtos, hasSize(3));
440469
assertThat(userReferenceDtos, hasItems(equalTo(generalSurveillanceOfficer.toReference()), equalTo(limitedSurveillanceOfficer.toReference())));
441470

442471
// given no district and one right
@@ -454,13 +483,13 @@ public void testGetUserRefsByDistrictsWithExcludeLimitedDiseaseUsersAndSingleDis
454483
userReferenceDtos =
455484
getUserFacade().getUserRefsByDistrict(rdcf.district, true, UserRight.TRAVEL_ENTRY_MANAGEMENT_ACCESS, UserRight.SORMAS_REST);
456485

457-
assertThat(userReferenceDtos, hasSize(2));
486+
assertThat(userReferenceDtos, hasSize(3));
458487
assertThat(userReferenceDtos, hasItems(equalTo(generalSurveillanceOfficer.toReference()), equalTo(generalRestUser.toReference())));
459488

460489
userReferenceDtos =
461490
getUserFacade().getUserRefsByDistrict(rdcf.district, false, UserRight.TRAVEL_ENTRY_MANAGEMENT_ACCESS, UserRight.SORMAS_REST);
462491

463-
assertThat(userReferenceDtos, hasSize(3));
492+
assertThat(userReferenceDtos, hasSize(4));
464493
assertThat(
465494
userReferenceDtos,
466495
hasItems(

0 commit comments

Comments
 (0)