Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit ac78238

Browse files
author
FredrikSchäferVitagroup
committed
\SORMAS-Foundation#3927 Unit test for the SystemEventFacadeEjb.getLatestSuccessByType
1 parent d8b6cfe commit ac78238

6 files changed

Lines changed: 71 additions & 1 deletion

File tree

sormas-backend/src/main/java/de/symeda/sormas/backend/systemevent/SystemEventFacadeEjb.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,10 @@ private SystemEvent fromDto(@NotNull SystemEventDto source, SystemEvent target)
7979

8080
}
8181

82+
@LocalBean
83+
@Stateless
84+
public static class SystemEventFacadeEjbLocal extends SystemEventFacadeEjb {
85+
86+
}
87+
8288
}

sormas-backend/src/test/java/de/symeda/sormas/backend/AbstractBeanTest.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import javax.persistence.EntityManager;
2424
import javax.persistence.Query;
2525

26+
import de.symeda.sormas.api.systemevents.SystemEventFacade;
27+
import de.symeda.sormas.backend.systemevent.SystemEventFacadeEjb;
2628
import org.junit.Before;
2729

2830
import de.symeda.sormas.api.ConfigFacade;
@@ -360,7 +362,9 @@ public PointOfEntryService getPointOfEntryService() {
360362
return getBean(PointOfEntryService.class);
361363
}
362364

363-
public CountryService getCountryService() { return getBean(CountryService.class); }
365+
public CountryService getCountryService() {
366+
return getBean(CountryService.class);
367+
}
364368

365369
public RegionService getRegionService() {
366370
return getBean(RegionService.class);
@@ -508,4 +512,9 @@ public DocumentFacade getDocumentFacade() {
508512
public DocumentService getDocumentService() {
509513
return getBean(DocumentService.class);
510514
}
515+
516+
public SystemEventFacade getSystemEventFacade() {
517+
return getBean((SystemEventFacadeEjb.SystemEventFacadeEjbLocal.class));
518+
}
519+
511520
}

sormas-backend/src/test/java/de/symeda/sormas/backend/TestDataCreator.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
import de.symeda.sormas.api.infrastructure.PointOfEntryReferenceDto;
6767
import de.symeda.sormas.api.infrastructure.PointOfEntryType;
6868
import de.symeda.sormas.api.infrastructure.PopulationDataDto;
69+
import de.symeda.sormas.api.labmessage.LabMessageDto;
6970
import de.symeda.sormas.api.location.LocationDto;
7071
import de.symeda.sormas.api.person.PersonDto;
7172
import de.symeda.sormas.api.person.PersonReferenceDto;
@@ -82,6 +83,9 @@
8283
import de.symeda.sormas.api.sample.SampleMaterial;
8384
import de.symeda.sormas.api.sample.SamplePurpose;
8485
import de.symeda.sormas.api.sample.SampleReferenceDto;
86+
import de.symeda.sormas.api.systemevents.SystemEventDto;
87+
import de.symeda.sormas.api.systemevents.SystemEventStatus;
88+
import de.symeda.sormas.api.systemevents.SystemEventType;
8589
import de.symeda.sormas.api.task.TaskContext;
8690
import de.symeda.sormas.api.task.TaskDto;
8791
import de.symeda.sormas.api.task.TaskStatus;
@@ -1274,6 +1278,20 @@ public DocumentDto createDocument(
12741278
return beanTest.getDocumentFacade().saveDocument(document, content);
12751279
}
12761280

1281+
public SystemEventDto createSystemEvent(SystemEventType type, Date startDate, SystemEventStatus status) {
1282+
return createSystemEvent(type, startDate, new Date(startDate.getTime() + 1000), status, "Generated for test purposes");
1283+
};
1284+
1285+
public SystemEventDto createSystemEvent(SystemEventType type, Date startDate, Date endDate, SystemEventStatus status, String additionalInfo) {
1286+
SystemEventDto systemEvent = SystemEventDto.build();
1287+
systemEvent.setType(type);
1288+
systemEvent.setStartDate(startDate);
1289+
systemEvent.setEndDate(endDate);
1290+
systemEvent.setStatus(status);
1291+
systemEvent.setAdditionalInfo(additionalInfo);
1292+
return systemEvent;
1293+
}
1294+
12771295
/**
12781296
* Creates a list with {@code count} values of type {@code T}.
12791297
* The list index is given to the {@code valueSupplier} for each value to create.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package de.symeda.sormas.backend.systemevent;
2+
3+
import de.symeda.sormas.api.systemevents.SystemEventDto;
4+
import de.symeda.sormas.api.systemevents.SystemEventStatus;
5+
import de.symeda.sormas.api.systemevents.SystemEventType;
6+
import de.symeda.sormas.backend.AbstractBeanTest;
7+
import de.symeda.sormas.backend.TestDataCreator;
8+
import org.junit.Test;
9+
10+
import java.util.Date;
11+
12+
import static org.junit.Assert.assertEquals;
13+
14+
public class SystemEventFacadeEjbTest extends AbstractBeanTest {
15+
16+
protected final TestDataCreator creator = new TestDataCreator(this);
17+
18+
@Test
19+
public void testGetLatestSuccessByType() {
20+
21+
Date earliestDate = new Date(100000L);
22+
Date intermediateDate = new Date(200000L);
23+
Date latestDate = new Date(300000L);
24+
25+
SystemEventDto earlierSuccess = creator.createSystemEvent(SystemEventType.FETCH_LAB_MESSAGES, earliestDate, SystemEventStatus.SUCCESS);
26+
SystemEventDto latestSuccess = creator.createSystemEvent(SystemEventType.FETCH_LAB_MESSAGES, intermediateDate, SystemEventStatus.SUCCESS);
27+
SystemEventDto error = creator.createSystemEvent(SystemEventType.FETCH_LAB_MESSAGES, latestDate, SystemEventStatus.ERROR);
28+
29+
getSystemEventFacade().saveSystemEvent(earlierSuccess);
30+
getSystemEventFacade().saveSystemEvent(latestSuccess);
31+
getSystemEventFacade().saveSystemEvent(error);
32+
assertEquals(intermediateDate, getSystemEventFacade().getLatestSuccessByType(SystemEventType.FETCH_LAB_MESSAGES));
33+
}
34+
35+
}

sormas-backend/src/test/resources/META-INF/persistence.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
<class>de.symeda.sormas.backend.document.Document</class>
5959
<class>de.symeda.sormas.backend.exposure.Exposure</class>
6060
<class>de.symeda.sormas.backend.common.messaging.ManualMessageLog</class>
61+
<class>de.symeda.sormas.backend.systemevent.SystemEvent</class>
6162

6263
<exclude-unlisted-classes>true</exclude-unlisted-classes>
6364

sormas-ui/src/test/resources/META-INF/persistence.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
<class>de.symeda.sormas.backend.document.Document</class>
5959
<class>de.symeda.sormas.backend.exposure.Exposure</class>
6060
<class>de.symeda.sormas.backend.common.messaging.ManualMessageLog</class>
61+
<class>de.symeda.sormas.backend.systemevent.SystemEvent</class>
6162

6263
<exclude-unlisted-classes>true</exclude-unlisted-classes>
6364

0 commit comments

Comments
 (0)