Search in sources :

Example 21 with RDCF

use of de.symeda.sormas.backend.TestDataCreator.RDCF in project SORMAS-Project by hzi-braunschweig.

the class TaskFacadeEjbTest method testGetPendingTaskCountPerUser.

@Test
public void testGetPendingTaskCountPerUser() {
    List<String> userUuids;
    // 0. empty or not present uuid
    userUuids = Collections.emptyList();
    assertThat(getTaskFacade().getPendingTaskCountPerUser(userUuids).entrySet(), is(empty()));
    userUuids = Collections.singletonList(DataHelper.createUuid());
    assertThat(getTaskFacade().getPendingTaskCountPerUser(userUuids).entrySet(), is(empty()));
    // 1. one user with tasks, one without
    RDCF rdcf = new RDCF(creator.createRDCFEntities());
    UserDto user1 = creator.createUser(rdcf, "First", "User", UserRole.SURVEILLANCE_SUPERVISOR);
    UserDto user2 = creator.createUser(rdcf, "Second", "User", UserRole.SURVEILLANCE_SUPERVISOR);
    creator.createTask(user1.toReference());
    userUuids = Arrays.asList(user1.getUuid(), user2.getUuid());
    Map<String, Long> taskCounts = getTaskFacade().getPendingTaskCountPerUser(userUuids);
    assertThat(taskCounts.size(), is(1));
    assertThat(taskCounts.get(user1.getUuid()), is(1L));
    // 2. both users have tasks
    creator.createTask(user1.toReference());
    creator.createTask(user2.toReference());
    taskCounts = getTaskFacade().getPendingTaskCountPerUser(userUuids);
    assertThat(taskCounts.size(), is(2));
    assertThat(taskCounts.get(user1.getUuid()), is(2L));
    assertThat(taskCounts.get(user2.getUuid()), is(1L));
}
Also used : RDCF(de.symeda.sormas.backend.TestDataCreator.RDCF) UserDto(de.symeda.sormas.api.user.UserDto) AbstractBeanTest(de.symeda.sormas.backend.AbstractBeanTest) Test(org.junit.Test)

Example 22 with RDCF

use of de.symeda.sormas.backend.TestDataCreator.RDCF in project SORMAS-Project by hzi-braunschweig.

the class TaskFacadeEjbTest method testSampleDeletion.

@Test
public void testSampleDeletion() {
    RDCF rdcf = creator.createRDCF("Region", "District", "Community", "Facility");
    UserDto user = creator.createUser(rdcf.region.getUuid(), rdcf.district.getUuid(), rdcf.facility.getUuid(), "Surv", "Sup", UserRole.SURVEILLANCE_SUPERVISOR);
    UserDto admin = getUserFacade().getByUserName("admin");
    String adminUuid = admin.getUuid();
    TaskDto task = creator.createTask(TaskContext.GENERAL, TaskType.OTHER, TaskStatus.PENDING, null, null, null, DateHelper.addDays(new Date(), 1), user.toReference());
    // Database should contain the created task
    assertNotNull(getTaskFacade().getByUuid(task.getUuid()));
    getTaskFacade().deleteTask(task);
    // Database should not contain the created task
    assertNull(getTaskFacade().getByUuid(task.getUuid()));
}
Also used : RDCF(de.symeda.sormas.backend.TestDataCreator.RDCF) UserDto(de.symeda.sormas.api.user.UserDto) TaskDto(de.symeda.sormas.api.task.TaskDto) Date(java.util.Date) AbstractBeanTest(de.symeda.sormas.backend.AbstractBeanTest) Test(org.junit.Test)

Example 23 with RDCF

use of de.symeda.sormas.backend.TestDataCreator.RDCF in project SORMAS-Project by hzi-braunschweig.

the class TaskFacadeEjbTest method testGetIndexList.

@Test
public void testGetIndexList() {
    RDCF rdcf = creator.createRDCF("Region", "District", "Community", "Facility");
    UserDto user = creator.createUser(rdcf.region.getUuid(), rdcf.district.getUuid(), rdcf.facility.getUuid(), "Surv", "Sup", UserRole.SURVEILLANCE_SUPERVISOR);
    // Database should contain the created task
    assertNotNull(getTaskFacade().getIndexList(null, 0, 100, null));
}
Also used : RDCF(de.symeda.sormas.backend.TestDataCreator.RDCF) UserDto(de.symeda.sormas.api.user.UserDto) AbstractBeanTest(de.symeda.sormas.backend.AbstractBeanTest) Test(org.junit.Test)

Example 24 with RDCF

use of de.symeda.sormas.backend.TestDataCreator.RDCF in project SORMAS-Project by hzi-braunschweig.

the class UserFacadeEjbTest method testGetReferencesByRoleAndJurisdiction.

@Test
public void testGetReferencesByRoleAndJurisdiction() {
    UserReferenceDto userAdmin = getUserFacade().getAllUserRefs(false).get(0);
    RDCF rdcf1 = creator.createRDCF("Region1", "District1_1", "Community1_1", "Facility1");
    RDCF rdcf2 = creator.createRDCF("Region2", "District2", "Community2", null);
    RegionReferenceDto region1 = rdcf1.region;
    RegionReferenceDto region2 = rdcf2.region;
    DistrictReferenceDto district1_1 = rdcf1.district;
    DistrictReferenceDto district1_2 = new DistrictReferenceDto(creator.createDistrict("District1_2", getBean(RegionService.class).getByUuid(rdcf1.region.getUuid())).getUuid());
    DistrictReferenceDto district2 = rdcf2.district;
    CommunityReferenceDto community1_1 = rdcf1.community;
    CommunityReferenceDto community1_2 = creator.createCommunity("Community1_2", district1_1).toReference();
    CommunityReferenceDto community2 = rdcf2.community;
    FacilityReferenceDto facility1 = rdcf1.facility;
    // Jurisdiction Region
    UserReferenceDto userR1 = creator.createUserRef(region1.getUuid(), null, null, null, "Irmin", "Schmidt", EVENT_OFFICER);
    UserReferenceDto userR2 = creator.createUserRef(region2.getUuid(), null, null, null, "Michael", "Karoli", STATE_OBSERVER);
    // Jurisdiction District
    UserReferenceDto userD1 = creator.createUserRef(region1.getUuid(), district1_1.getUuid(), null, null, "Malcolm", "Mooney", CASE_OFFICER);
    UserReferenceDto userD2 = creator.createUserRef(region1.getUuid(), district1_2.getUuid(), null, null, "Rosko", "Gee", SURVEILLANCE_OFFICER);
    UserReferenceDto userD3 = creator.createUserRef(region2.getUuid(), district2.getUuid(), null, null, "Tim", "Hardin", CONTACT_OFFICER);
    // Jurisdiction Community
    UserReferenceDto userC1 = creator.createUserRef(region1.getUuid(), district1_1.getUuid(), community1_1.getUuid(), null, "Blixa", "Bargeld", COMMUNITY_INFORMANT);
    UserReferenceDto userC2 = creator.createUserRef(region1.getUuid(), district1_1.getUuid(), community1_2.getUuid(), null, "Jaki", "Liebezeit", COMMUNITY_OFFICER);
    UserReferenceDto userC3 = creator.createUserRef(region1.getUuid(), district2.getUuid(), community2.getUuid(), null, "Holger", "Czukay", COMMUNITY_INFORMANT);
    // Jurisdiction Nation
    UserReferenceDto userN1 = creator.createUserRef(null, null, null, null, "Fred", "Cole", NATIONAL_USER);
    UserReferenceDto userN2 = creator.createUserRef(null, null, null, null, "Toody", "Cole", NATIONAL_OBSERVER);
    // Jurisdiction Health Facility
    UserReferenceDto userHF1 = creator.createUserRef(null, null, null, facility1.getUuid(), "FM", "Einheit", HOSPITAL_INFORMANT);
    // Supervisors
    UserDto userS1 = creator.createUser(region1.getUuid(), null, facility1.getUuid(), "Joey", "Ramone", CASE_SUPERVISOR);
    UserDto userS2 = creator.createUser(region1.getUuid(), null, facility1.getUuid(), "Johnny", "Ramone", CONTACT_SUPERVISOR);
    UserDto userS3 = creator.createUser(region2.getUuid(), null, facility1.getUuid(), "Dee Dee", "Ramone", SURVEILLANCE_SUPERVISOR);
    UserDto userS4 = creator.createUser(region2.getUuid(), null, facility1.getUuid(), "Tommy", "Ramone", POE_SUPERVISOR);
    // Tests
    assertThat(getUserFacade().getUsersByRegionAndRoles(region1, COMMUNITY_OFFICER, SURVEILLANCE_OFFICER), containsInAnyOrder(userD2, userC2));
    assertThat(getUserFacade().getUsersByRegionsAndRoles(Arrays.asList(region1, region2), COMMUNITY_INFORMANT, CASE_OFFICER, CONTACT_OFFICER, STATE_OBSERVER), containsInAnyOrder(userR2, userD1, userD3, userC1, userC3));
    assertThat(getUserFacade().getUserRefsByDistrict(district1_1, false, STATE_OBSERVER, CASE_OFFICER, COMMUNITY_OFFICER, POE_INFORMANT), containsInAnyOrder(userD1, userC2));
    assertThat(getUserFacade().getUserRefsByDistricts(Arrays.asList(district1_1, district2), false, SURVEILLANCE_OFFICER, CONTACT_OFFICER, COMMUNITY_INFORMANT), containsInAnyOrder(userD3, userC1, userC3));
    assertThat(getUserFacade().getUserRefsByDistrict(district1_1, true, CASE_OFFICER), containsInAnyOrder(userD1, userS1, userS2, userS3));
    assertThat(getUserFacade().getUsersWithSuperiorJurisdiction(getUserFacade().getByUuid(userN1.getUuid())), anyOf(empty()));
    assertThat(getUserFacade().getUsersWithSuperiorJurisdiction(getUserFacade().getByUuid(userR1.getUuid())), containsInAnyOrder(userAdmin, userN1, userN2));
    assertThat(getUserFacade().getUsersWithSuperiorJurisdiction(getUserFacade().getByUuid(userD1.getUuid())), containsInAnyOrder(userR1, userS1, userS2));
    assertThat(getUserFacade().getUsersWithSuperiorJurisdiction(getUserFacade().getByUuid(userC1.getUuid())), containsInAnyOrder(userD1));
    assertThat(getUserFacade().getUsersWithSuperiorJurisdiction(getUserFacade().getByUuid(userHF1.getUuid())), containsInAnyOrder(userC1));
    assertThat(getUserFacade().getAllUserRefs(false), hasSize(16));
    userS4.setActive(false);
    getUserFacade().saveUser(userS4);
    assertThat(getUserFacade().getAllUserRefs(false), hasSize(15));
    assertThat(getUserFacade().getAllUserRefs(true), hasSize(16));
}
Also used : UserReferenceDto(de.symeda.sormas.api.user.UserReferenceDto) CommunityReferenceDto(de.symeda.sormas.api.infrastructure.community.CommunityReferenceDto) RDCF(de.symeda.sormas.backend.TestDataCreator.RDCF) RegionReferenceDto(de.symeda.sormas.api.infrastructure.region.RegionReferenceDto) FacilityReferenceDto(de.symeda.sormas.api.infrastructure.facility.FacilityReferenceDto) UserDto(de.symeda.sormas.api.user.UserDto) DistrictReferenceDto(de.symeda.sormas.api.infrastructure.district.DistrictReferenceDto) AbstractBeanTest(de.symeda.sormas.backend.AbstractBeanTest) Test(org.junit.Test)

Example 25 with RDCF

use of de.symeda.sormas.backend.TestDataCreator.RDCF in project SORMAS-Project by hzi-braunschweig.

the class UserFacadeEjbTest method testGetValidLoginRoles.

@Test
public void testGetValidLoginRoles() {
    AuthProvider authProvider = mock(AuthProvider.class);
    MockedStatic<AuthProvider> mockAuthProvider = mockStatic(AuthProvider.class);
    Mockito.when(AuthProvider.getProvider(any())).thenReturn(authProvider);
    RDCF rdcf = creator.createRDCF();
    UserDto user = creator.createUser(rdcf, SURVEILLANCE_SUPERVISOR);
    String password = getUserFacade().resetPassword(user.getUuid());
    Set<UserRole> validLoginRoles = getUserFacade().getValidLoginRoles(user.getUserName(), password);
    assertThat(validLoginRoles, containsInAnyOrder(SURVEILLANCE_SUPERVISOR));
    user.setActive(false);
    getUserFacade().saveUser(user);
    validLoginRoles = getUserFacade().getValidLoginRoles(user.getUserName(), password);
    assertThat(validLoginRoles, nullValue());
    // Important: release static mock.
    mockAuthProvider.closeOnDemand();
}
Also used : RDCF(de.symeda.sormas.backend.TestDataCreator.RDCF) UserRole(de.symeda.sormas.api.user.UserRole) UserDto(de.symeda.sormas.api.user.UserDto) AuthProvider(de.symeda.sormas.api.AuthProvider) AbstractBeanTest(de.symeda.sormas.backend.AbstractBeanTest) Test(org.junit.Test)

Aggregations

RDCF (de.symeda.sormas.backend.TestDataCreator.RDCF)75 AbstractBeanTest (de.symeda.sormas.backend.AbstractBeanTest)74 Test (org.junit.Test)74 UserDto (de.symeda.sormas.api.user.UserDto)53 Date (java.util.Date)43 CaseDataDto (de.symeda.sormas.api.caze.CaseDataDto)42 PersonDto (de.symeda.sormas.api.person.PersonDto)33 LocalDate (java.time.LocalDate)33 UserReferenceDto (de.symeda.sormas.api.user.UserReferenceDto)19 EventDto (de.symeda.sormas.api.event.EventDto)18 ContactDto (de.symeda.sormas.api.contact.ContactDto)17 CasePersonDto (de.symeda.sormas.api.caze.CasePersonDto)13 Matchers.isEmptyOrNullString (org.hamcrest.Matchers.isEmptyOrNullString)12 PersonReferenceDto (de.symeda.sormas.api.person.PersonReferenceDto)11 CaseCriteria (de.symeda.sormas.api.caze.CaseCriteria)10 RegionReferenceDto (de.symeda.sormas.api.infrastructure.region.RegionReferenceDto)10 TaskDto (de.symeda.sormas.api.task.TaskDto)9 CaseIndexDto (de.symeda.sormas.api.caze.CaseIndexDto)8 MapContactDto (de.symeda.sormas.api.contact.MapContactDto)8 SimilarContactDto (de.symeda.sormas.api.contact.SimilarContactDto)8