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

Commit 89d2790

Browse files
SORMAS-Foundation#2993 add CountryImporter test
1 parent 03fae15 commit 89d2790

3 files changed

Lines changed: 72 additions & 263 deletions

File tree

sormas-api/src/main/java/de/symeda/sormas/api/i18n/Countries.java

Lines changed: 0 additions & 249 deletions
Original file line numberDiff line numberDiff line change
@@ -10,253 +10,4 @@ public interface Countries {
1010
* 1. java:S115: Violation of name convention for constants of this class is accepted: Close as false positive.
1111
*/
1212

13-
String country_ABW_name = "country.ABW.name";
14-
String country_AFG_name = "country.AFG.name";
15-
String country_AGO_name = "country.AGO.name";
16-
String country_AIA_name = "country.AIA.name";
17-
String country_ALA_name = "country.ALA.name";
18-
String country_ALB_name = "country.ALB.name";
19-
String country_AND_name = "country.AND.name";
20-
String country_ARE_name = "country.ARE.name";
21-
String country_ARG_name = "country.ARG.name";
22-
String country_ARM_name = "country.ARM.name";
23-
String country_ASM_name = "country.ASM.name";
24-
String country_ATA_name = "country.ATA.name";
25-
String country_ATF_name = "country.ATF.name";
26-
String country_ATG_name = "country.ATG.name";
27-
String country_AUS_name = "country.AUS.name";
28-
String country_AUT_name = "country.AUT.name";
29-
String country_AZE_name = "country.AZE.name";
30-
String country_BDI_name = "country.BDI.name";
31-
String country_BEL_name = "country.BEL.name";
32-
String country_BEN_name = "country.BEN.name";
33-
String country_BES_name = "country.BES.name";
34-
String country_BFA_name = "country.BFA.name";
35-
String country_BGD_name = "country.BGD.name";
36-
String country_BGR_name = "country.BGR.name";
37-
String country_BHR_name = "country.BHR.name";
38-
String country_BHS_name = "country.BHS.name";
39-
String country_BIH_name = "country.BIH.name";
40-
String country_BLM_name = "country.BLM.name";
41-
String country_BLR_name = "country.BLR.name";
42-
String country_BLZ_name = "country.BLZ.name";
43-
String country_BMU_name = "country.BMU.name";
44-
String country_BOL_name = "country.BOL.name";
45-
String country_BRA_name = "country.BRA.name";
46-
String country_BRB_name = "country.BRB.name";
47-
String country_BRN_name = "country.BRN.name";
48-
String country_BTN_name = "country.BTN.name";
49-
String country_BVT_name = "country.BVT.name";
50-
String country_BWA_name = "country.BWA.name";
51-
String country_CAF_name = "country.CAF.name";
52-
String country_CAN_name = "country.CAN.name";
53-
String country_CCK_name = "country.CCK.name";
54-
String country_CHE_name = "country.CHE.name";
55-
String country_CHL_name = "country.CHL.name";
56-
String country_CHN_name = "country.CHN.name";
57-
String country_CIV_name = "country.CIV.name";
58-
String country_CMR_name = "country.CMR.name";
59-
String country_COD_name = "country.COD.name";
60-
String country_COG_name = "country.COG.name";
61-
String country_COK_name = "country.COK.name";
62-
String country_COL_name = "country.COL.name";
63-
String country_COM_name = "country.COM.name";
64-
String country_CPV_name = "country.CPV.name";
65-
String country_CRI_name = "country.CRI.name";
66-
String country_CUB_name = "country.CUB.name";
67-
String country_CUW_name = "country.CUW.name";
68-
String country_CXR_name = "country.CXR.name";
69-
String country_CYM_name = "country.CYM.name";
70-
String country_CYP_name = "country.CYP.name";
71-
String country_CZE_name = "country.CZE.name";
72-
String country_DEU_name = "country.DEU.name";
73-
String country_DJI_name = "country.DJI.name";
74-
String country_DMA_name = "country.DMA.name";
75-
String country_DNK_name = "country.DNK.name";
76-
String country_DOM_name = "country.DOM.name";
77-
String country_DZA_name = "country.DZA.name";
78-
String country_ECU_name = "country.ECU.name";
79-
String country_EGY_name = "country.EGY.name";
80-
String country_ERI_name = "country.ERI.name";
81-
String country_ESH_name = "country.ESH.name";
82-
String country_ESP_name = "country.ESP.name";
83-
String country_EST_name = "country.EST.name";
84-
String country_ETH_name = "country.ETH.name";
85-
String country_FIN_name = "country.FIN.name";
86-
String country_FJI_name = "country.FJI.name";
87-
String country_FLK_name = "country.FLK.name";
88-
String country_FRA_name = "country.FRA.name";
89-
String country_FRO_name = "country.FRO.name";
90-
String country_FSM_name = "country.FSM.name";
91-
String country_GAB_name = "country.GAB.name";
92-
String country_GBR_name = "country.GBR.name";
93-
String country_GEO_name = "country.GEO.name";
94-
String country_GGY_name = "country.GGY.name";
95-
String country_GHA_name = "country.GHA.name";
96-
String country_GIB_name = "country.GIB.name";
97-
String country_GIN_name = "country.GIN.name";
98-
String country_GLP_name = "country.GLP.name";
99-
String country_GMB_name = "country.GMB.name";
100-
String country_GNB_name = "country.GNB.name";
101-
String country_GNQ_name = "country.GNQ.name";
102-
String country_GRC_name = "country.GRC.name";
103-
String country_GRD_name = "country.GRD.name";
104-
String country_GRL_name = "country.GRL.name";
105-
String country_GTM_name = "country.GTM.name";
106-
String country_GUF_name = "country.GUF.name";
107-
String country_GUM_name = "country.GUM.name";
108-
String country_GUY_name = "country.GUY.name";
109-
String country_HKG_name = "country.HKG.name";
110-
String country_HMD_name = "country.HMD.name";
111-
String country_HND_name = "country.HND.name";
112-
String country_HRV_name = "country.HRV.name";
113-
String country_HTI_name = "country.HTI.name";
114-
String country_HUN_name = "country.HUN.name";
115-
String country_IDN_name = "country.IDN.name";
116-
String country_IMN_name = "country.IMN.name";
117-
String country_IND_name = "country.IND.name";
118-
String country_IOT_name = "country.IOT.name";
119-
String country_IRL_name = "country.IRL.name";
120-
String country_IRN_name = "country.IRN.name";
121-
String country_IRQ_name = "country.IRQ.name";
122-
String country_ISL_name = "country.ISL.name";
123-
String country_ISR_name = "country.ISR.name";
124-
String country_ITA_name = "country.ITA.name";
125-
String country_JAM_name = "country.JAM.name";
126-
String country_JEY_name = "country.JEY.name";
127-
String country_JOR_name = "country.JOR.name";
128-
String country_JPN_name = "country.JPN.name";
129-
String country_KAZ_name = "country.KAZ.name";
130-
String country_KEN_name = "country.KEN.name";
131-
String country_KGZ_name = "country.KGZ.name";
132-
String country_KHM_name = "country.KHM.name";
133-
String country_KIR_name = "country.KIR.name";
134-
String country_KNA_name = "country.KNA.name";
135-
String country_KOR_name = "country.KOR.name";
136-
String country_KWT_name = "country.KWT.name";
137-
String country_LAO_name = "country.LAO.name";
138-
String country_LBN_name = "country.LBN.name";
139-
String country_LBR_name = "country.LBR.name";
140-
String country_LBY_name = "country.LBY.name";
141-
String country_LCA_name = "country.LCA.name";
142-
String country_LIE_name = "country.LIE.name";
143-
String country_LKA_name = "country.LKA.name";
144-
String country_LSO_name = "country.LSO.name";
145-
String country_LTU_name = "country.LTU.name";
146-
String country_LUX_name = "country.LUX.name";
147-
String country_LVA_name = "country.LVA.name";
148-
String country_MAC_name = "country.MAC.name";
149-
String country_MAF_name = "country.MAF.name";
150-
String country_MAR_name = "country.MAR.name";
151-
String country_MCO_name = "country.MCO.name";
152-
String country_MDA_name = "country.MDA.name";
153-
String country_MDG_name = "country.MDG.name";
154-
String country_MDV_name = "country.MDV.name";
155-
String country_MEX_name = "country.MEX.name";
156-
String country_MHL_name = "country.MHL.name";
157-
String country_MKD_name = "country.MKD.name";
158-
String country_MLI_name = "country.MLI.name";
159-
String country_MLT_name = "country.MLT.name";
160-
String country_MMR_name = "country.MMR.name";
161-
String country_MNE_name = "country.MNE.name";
162-
String country_MNG_name = "country.MNG.name";
163-
String country_MNP_name = "country.MNP.name";
164-
String country_MOZ_name = "country.MOZ.name";
165-
String country_MRT_name = "country.MRT.name";
166-
String country_MSR_name = "country.MSR.name";
167-
String country_MTQ_name = "country.MTQ.name";
168-
String country_MUS_name = "country.MUS.name";
169-
String country_MWI_name = "country.MWI.name";
170-
String country_MYS_name = "country.MYS.name";
171-
String country_MYT_name = "country.MYT.name";
172-
String country_NAM_name = "country.NAM.name";
173-
String country_NCL_name = "country.NCL.name";
174-
String country_NER_name = "country.NER.name";
175-
String country_NFK_name = "country.NFK.name";
176-
String country_NGA_name = "country.NGA.name";
177-
String country_NIC_name = "country.NIC.name";
178-
String country_NIU_name = "country.NIU.name";
179-
String country_NLD_name = "country.NLD.name";
180-
String country_NOR_name = "country.NOR.name";
181-
String country_NPL_name = "country.NPL.name";
182-
String country_NRU_name = "country.NRU.name";
183-
String country_NZL_name = "country.NZL.name";
184-
String country_OMN_name = "country.OMN.name";
185-
String country_PAK_name = "country.PAK.name";
186-
String country_PAN_name = "country.PAN.name";
187-
String country_PCN_name = "country.PCN.name";
188-
String country_PER_name = "country.PER.name";
189-
String country_PHL_name = "country.PHL.name";
190-
String country_PLW_name = "country.PLW.name";
191-
String country_PNG_name = "country.PNG.name";
192-
String country_POL_name = "country.POL.name";
193-
String country_PRI_name = "country.PRI.name";
194-
String country_PRK_name = "country.PRK.name";
195-
String country_PRT_name = "country.PRT.name";
196-
String country_PRY_name = "country.PRY.name";
197-
String country_PSE_name = "country.PSE.name";
198-
String country_PYF_name = "country.PYF.name";
199-
String country_QAT_name = "country.QAT.name";
200-
String country_REU_name = "country.REU.name";
201-
String country_ROU_name = "country.ROU.name";
202-
String country_RUS_name = "country.RUS.name";
203-
String country_RWA_name = "country.RWA.name";
204-
String country_SAR_name = "country.SAR.name";
205-
String country_SAU_name = "country.SAU.name";
206-
String country_SDN_name = "country.SDN.name";
207-
String country_SEN_name = "country.SEN.name";
208-
String country_SGP_name = "country.SGP.name";
209-
String country_SGS_name = "country.SGS.name";
210-
String country_SHN_name = "country.SHN.name";
211-
String country_SJM_name = "country.SJM.name";
212-
String country_SLB_name = "country.SLB.name";
213-
String country_SLE_name = "country.SLE.name";
214-
String country_SLV_name = "country.SLV.name";
215-
String country_SMR_name = "country.SMR.name";
216-
String country_SOM_name = "country.SOM.name";
217-
String country_SPM_name = "country.SPM.name";
218-
String country_SRB_name = "country.SRB.name";
219-
String country_SSD_name = "country.SSD.name";
220-
String country_STP_name = "country.STP.name";
221-
String country_SUR_name = "country.SUR.name";
222-
String country_SVK_name = "country.SVK.name";
223-
String country_SVN_name = "country.SVN.name";
224-
String country_SWE_name = "country.SWE.name";
225-
String country_SWZ_name = "country.SWZ.name";
226-
String country_SXM_name = "country.SXM.name";
227-
String country_SYC_name = "country.SYC.name";
228-
String country_SYR_name = "country.SYR.name";
229-
String country_TCA_name = "country.TCA.name";
230-
String country_TCD_name = "country.TCD.name";
231-
String country_TGO_name = "country.TGO.name";
232-
String country_THA_name = "country.THA.name";
233-
String country_TJK_name = "country.TJK.name";
234-
String country_TKL_name = "country.TKL.name";
235-
String country_TKM_name = "country.TKM.name";
236-
String country_TLS_name = "country.TLS.name";
237-
String country_TON_name = "country.TON.name";
238-
String country_TTO_name = "country.TTO.name";
239-
String country_TUN_name = "country.TUN.name";
240-
String country_TUR_name = "country.TUR.name";
241-
String country_TUV_name = "country.TUV.name";
242-
String country_TZA_name = "country.TZA.name";
243-
String country_UGA_name = "country.UGA.name";
244-
String country_UKR_name = "country.UKR.name";
245-
String country_UMI_name = "country.UMI.name";
246-
String country_URY_name = "country.URY.name";
247-
String country_USA_name = "country.USA.name";
248-
String country_UZB_name = "country.UZB.name";
249-
String country_VAT_name = "country.VAT.name";
250-
String country_VCT_name = "country.VCT.name";
251-
String country_VEN_name = "country.VEN.name";
252-
String country_VGB_name = "country.VGB.name";
253-
String country_VIR_name = "country.VIR.name";
254-
String country_VNM_name = "country.VNM.name";
255-
String country_VUT_name = "country.VUT.name";
256-
String country_WLF_name = "country.WLF.name";
257-
String country_WSM_name = "country.WSM.name";
258-
String country_YEM_name = "country.YEM.name";
259-
String country_ZAF_name = "country.ZAF.name";
260-
String country_ZMB_name = "country.ZMB.name";
261-
String country_ZWE_name = "country.ZWE.name";
26213
}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
package de.symeda.sormas.ui.importer;
2+
3+
import static org.junit.Assert.assertEquals;
4+
5+
import java.io.File;
6+
import java.io.IOException;
7+
import java.io.OutputStream;
8+
import java.io.OutputStreamWriter;
9+
import java.io.Writer;
10+
11+
import org.junit.Test;
12+
import org.junit.runner.RunWith;
13+
import org.mockito.junit.MockitoJUnitRunner;
14+
15+
import com.opencsv.exceptions.CsvValidationException;
16+
17+
import de.symeda.sormas.api.importexport.InvalidColumnException;
18+
import de.symeda.sormas.api.infrastructure.InfrastructureType;
19+
import de.symeda.sormas.api.region.CountryCriteria;
20+
import de.symeda.sormas.api.user.UserDto;
21+
import de.symeda.sormas.api.user.UserReferenceDto;
22+
import de.symeda.sormas.api.user.UserRole;
23+
import de.symeda.sormas.ui.AbstractBeanTest;
24+
import de.symeda.sormas.ui.TestDataCreator;
25+
import de.symeda.sormas.ui.caze.importer.CountryImporter;
26+
27+
// Using Silent Runner to ignore unnecessary stubbing exception
28+
// which is a side effect of extending AbstractBeanTest
29+
@RunWith(MockitoJUnitRunner.Silent.class)
30+
public class CountryImporterTest extends AbstractBeanTest {
31+
32+
@Test
33+
public void testUmlautsInCountryImport() throws IOException, InvalidColumnException, InterruptedException, CsvValidationException {
34+
TestDataCreator.RDCF rdcf = new TestDataCreator().createRDCF("Default Region", "Default District", "Default Community", "Default Facility");
35+
UserDto user = creator.createUser(rdcf.region.getUuid(), rdcf.district.getUuid(), rdcf.facility.getUuid(), "Default", "User", UserRole.ADMIN);
36+
37+
File countryCsvFile = new File(getClass().getClassLoader().getResource("sormas_country_import_test.csv").getFile());
38+
InfrastructureImporter importer = new CountryImporterExtension(countryCsvFile, user.toReference());
39+
importer.runImport();
40+
getCountryFacade().getByDefaultName("Country with ä", false).get(0);
41+
}
42+
43+
@Test
44+
public void testDontImportDuplicateCountry() throws IOException, InvalidColumnException, InterruptedException, CsvValidationException {
45+
TestDataCreator.RDCF rdcf = new TestDataCreator().createRDCF("Default Region", "Default District", "Default Community", "Default Facility");
46+
UserDto user = creator.createUser(rdcf.region.getUuid(), rdcf.district.getUuid(), rdcf.facility.getUuid(), "Default", "User", UserRole.ADMIN);
47+
48+
File countryCsvFile = new File(getClass().getClassLoader().getResource("sormas_country_import_test.csv").getFile());
49+
InfrastructureImporter importer = new CountryImporterExtension(countryCsvFile, user.toReference());
50+
assertEquals(ImportResultStatus.COMPLETED_WITH_ERRORS, importer.runImport());
51+
assertEquals(1, getCountryFacade().count(new CountryCriteria()));
52+
}
53+
54+
private static class CountryImporterExtension extends CountryImporter {
55+
56+
private CountryImporterExtension(File inputFile, UserReferenceDto currentUser) {
57+
super(inputFile, currentUser);
58+
}
59+
60+
protected Writer createErrorReportWriter() {
61+
return new OutputStreamWriter((new OutputStream() {
62+
63+
@Override
64+
public void write(int b) {
65+
// Do nothing
66+
}
67+
}));
68+
}
69+
}
70+
}

sormas-ui/src/test/java/de/symeda/sormas/ui/importer/InfrastructureImporterTest.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,9 @@ public void testUmlautsInInfrastructureImport() throws IOException, InvalidColum
4242
RDCF rdcf = new TestDataCreator().createRDCF("Default Region", "Default District", "Default Community", "Default Facility");
4343
UserDto user = creator.createUser(rdcf.region.getUuid(), rdcf.district.getUuid(), rdcf.facility.getUuid(), "Default", "User", UserRole.ADMIN);
4444

45-
// Import country
46-
File countryCsvFile = new File(getClass().getClassLoader().getResource("sormas_country_import_test.csv").getFile());
47-
InfrastructureImporter importer = new InfrastructureImporterExtension(countryCsvFile, user.toReference(), InfrastructureType.COUNTRY);
48-
importer.runImport();
49-
getCountryFacade().getByDefaultName("Country with ä", false).get(0);
50-
5145
// Import region
5246
File regionCsvFile = new File(getClass().getClassLoader().getResource("sormas_region_import_test.csv").getFile());
53-
importer = new InfrastructureImporterExtension(regionCsvFile, user.toReference(), InfrastructureType.REGION);
47+
InfrastructureImporter importer = new InfrastructureImporterExtension(regionCsvFile, user.toReference(), InfrastructureType.REGION);
5448
importer.runImport();
5549
RegionReferenceDto region = getRegionFacade().getByName("Region with ä", false).get(0);
5650

@@ -84,15 +78,9 @@ public void testDontImportDuplicateInfrastructure() throws IOException, InvalidC
8478
RDCF rdcf = new TestDataCreator().createRDCF("Default Region", "Default District", "Default Community", "Default Facility");
8579
UserDto user = creator.createUser(rdcf.region.getUuid(), rdcf.district.getUuid(), rdcf.facility.getUuid(), "Default", "User", UserRole.ADMIN);
8680

87-
// Import country
88-
File countryCsvFile = new File(getClass().getClassLoader().getResource("sormas_country_import_test.csv").getFile());
89-
InfrastructureImporter importer = new InfrastructureImporterExtension(countryCsvFile, user.toReference(), InfrastructureType.COUNTRY);
90-
assertEquals(ImportResultStatus.COMPLETED_WITH_ERRORS, importer.runImport());
91-
assertEquals(1, getCountryFacade().count(new CountryCriteria()));
92-
9381
// Import region
9482
File regionCsvFile = new File(getClass().getClassLoader().getResource("sormas_region_import_test.csv").getFile());
95-
importer = new InfrastructureImporterExtension(regionCsvFile, user.toReference(), InfrastructureType.REGION);
83+
InfrastructureImporter importer = new InfrastructureImporterExtension(regionCsvFile, user.toReference(), InfrastructureType.REGION);
9684
assertEquals(ImportResultStatus.COMPLETED_WITH_ERRORS, importer.runImport());
9785
assertEquals(2, getRegionFacade().count(new RegionCriteria()));
9886

0 commit comments

Comments
 (0)