package eu.dnetlib.dhp.oa.graph.dump; import static org.mockito.Mockito.lenient; import java.util.Arrays; import java.util.List; import java.util.Map; import org.dom4j.DocumentException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException; import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService; @ExtendWith(MockitoExtension.class) public class QueryInformationSystemTest { private static final String XQUERY = "for $x in collection('/db/DRIVER/ContextDSResources/ContextDSResourceType') " + " where $x//CONFIGURATION/context[./@type='community' or ./@type='ri'] " + " and ($x//context/param[./@name = 'status']/text() = 'manager' or $x//context/param[./@name = 'status']/text() = 'all') " + " return " + " " + "{$x//CONFIGURATION/context/@id}" + "{$x//CONFIGURATION/context/@label}" + ""; List communityMap = Arrays .asList( "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""); @Mock private ISLookUpService isLookUpService; private QueryInformationSystem queryInformationSystem; private Map map; @BeforeEach public void setUp() throws ISLookUpException, DocumentException { lenient().when(isLookUpService.quickSearchProfile(XQUERY)).thenReturn(communityMap); queryInformationSystem = new QueryInformationSystem(); queryInformationSystem.setIsLookUp(isLookUpService); map = queryInformationSystem.getCommunityMap(false, null); } @Test public void testSize() throws ISLookUpException { Assertions.assertEquals(23, map.size()); } @Test public void testContent() { Assertions.assertTrue(map.containsKey("egi") && map.get("egi").equals("EGI Federation")); Assertions.assertTrue(map.containsKey("fet-fp7") && map.get("fet-fp7").equals("FET FP7")); Assertions.assertTrue(map.containsKey("fet-h2020") && map.get("fet-h2020").equals("FET H2020")); Assertions.assertTrue(map.containsKey("clarin") && map.get("clarin").equals("CLARIN")); Assertions.assertTrue(map.containsKey("rda") && map.get("rda").equals("Research Data Alliance")); Assertions.assertTrue(map.containsKey("ee") && map.get("ee").equals("SDSN - Greece")); Assertions .assertTrue( map.containsKey("dh-ch") && map.get("dh-ch").equals("Digital Humanities and Cultural Heritage")); Assertions.assertTrue(map.containsKey("fam") && map.get("fam").equals("Fisheries and Aquaculture Management")); Assertions.assertTrue(map.containsKey("ni") && map.get("ni").equals("Neuroinformatics")); Assertions.assertTrue(map.containsKey("mes") && map.get("mes").equals("European Marine Science")); Assertions.assertTrue(map.containsKey("instruct") && map.get("instruct").equals("Instruct-ERIC")); Assertions.assertTrue(map.containsKey("elixir-gr") && map.get("elixir-gr").equals("ELIXIR GR")); Assertions .assertTrue(map.containsKey("aginfra") && map.get("aginfra").equals("Agricultural and Food Sciences")); Assertions.assertTrue(map.containsKey("dariah") && map.get("dariah").equals("DARIAH EU")); Assertions.assertTrue(map.containsKey("risis") && map.get("risis").equals("RISIS")); Assertions.assertTrue(map.containsKey("epos") && map.get("epos").equals("EPOS")); Assertions.assertTrue(map.containsKey("beopen") && map.get("beopen").equals("Transport Research")); Assertions.assertTrue(map.containsKey("euromarine") && map.get("euromarine").equals("EuroMarine")); Assertions.assertTrue(map.containsKey("ifremer") && map.get("ifremer").equals("Ifremer")); Assertions.assertTrue(map.containsKey("oa-pg") && map.get("oa-pg").equals("EC Post-Grant Open Access Pilot")); Assertions .assertTrue( map.containsKey("science-innovation-policy") && map.get("science-innovation-policy").equals("Science and Innovation Policy Studies")); Assertions.assertTrue(map.containsKey("covid-19") && map.get("covid-19").equals("COVID-19")); Assertions.assertTrue(map.containsKey("enermaps") && map.get("enermaps").equals("Energy Research")); } }