Revision 52968
Added by Sandro La Bruzzo over 5 years ago
DLIResolverTest.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.resolver; |
2 | 2 |
|
3 |
import com.google.gson.Gson;
|
|
4 |
import eu.dnetlib.data.transform.OntologyLoader;
|
|
5 |
import eu.dnetlib.dli.DLIUtils;
|
|
6 |
import eu.dnetlib.dli.resolver.ENAResolver;
|
|
3 |
import eu.dnetlib.dli.resolver.DataciteResolver;
|
|
4 |
import eu.dnetlib.dli.resolver.NCBINParser;
|
|
5 |
import eu.dnetlib.dli.resolver.NCBINResolver;
|
|
6 |
import java.net.URI;
|
|
7 | 7 |
|
8 |
import eu.dnetlib.dli.resolver.model.DLIResolvedObject; |
|
9 |
import eu.dnetlib.dli.resolver.model.serializer.DLIResolverSerializer; |
|
10 |
import eu.dnetlib.enabling.locators.UniqueServiceLocator; |
|
11 |
import eu.dnetlib.pid.resolver.PIDResolver; |
|
12 |
import eu.dnetlib.pid.resolver.store.ResolverStore; |
|
13 |
import eu.dnetlib.resolver.store.ConfigurationResolverStoreTestConfig; |
|
14 |
import eu.dnetlib.rmi.enabling.ISLookUpService; |
|
15 | 8 |
import org.apache.commons.io.IOUtils; |
16 | 9 |
import org.apache.commons.logging.Log; |
17 | 10 |
import org.apache.commons.logging.LogFactory; |
18 |
|
|
19 |
import org.junit.Assert; |
|
20 |
import org.junit.Before; |
|
21 |
import org.junit.Ignore; |
|
22 | 11 |
import org.junit.Test; |
23 |
import org.junit.runner.RunWith; |
|
24 |
import org.mockito.Mock; |
|
25 |
import org.mockito.Mockito; |
|
26 |
import org.springframework.beans.factory.annotation.Autowired; |
|
27 |
import org.springframework.test.context.ContextConfiguration; |
|
28 |
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; |
|
29 | 12 |
|
30 |
import javax.annotation.Resource;
|
|
13 |
import java.io.IOException;
|
|
31 | 14 |
import java.io.InputStream; |
32 |
import java.util.Arrays; |
|
33 |
import java.util.List; |
|
34 |
import java.util.Map; |
|
15 |
import java.net.URISyntaxException; |
|
35 | 16 |
|
36 |
import static org.mockito.Mockito.when; |
|
37 |
|
|
38 | 17 |
/** |
39 | 18 |
* Created by sandro on 9/8/16. |
40 | 19 |
*/ |
41 |
//@RunWith(SpringJUnit4ClassRunner.class) |
|
42 |
//@ContextConfiguration(classes = { ConfigurationTestConfig.class, ConfigurationResolverStoreTestConfig.class }) |
|
43 |
@Ignore |
|
44 |
public class DLIResolverTest { |
|
45 | 20 |
|
21 |
public class DLIResolverTest extends DLIAbstractTest { |
|
22 |
|
|
46 | 23 |
private static final Log log = LogFactory.getLog(DLIResolverTest.class); |
47 | 24 |
|
48 |
@Resource(name = "andsResolver") |
|
49 |
private PIDResolver andsDataciteResolver; |
|
50 | 25 |
|
51 |
@Resource(name = "pubMedResolver") |
|
52 |
private PIDResolver pubMedResolver; |
|
53 |
|
|
54 |
@Resource(name = "openaireResolver") |
|
55 |
private PIDResolver openaireResolver; |
|
56 |
|
|
57 |
@Resource(name = "crossrefResolver") |
|
58 |
private PIDResolver crossrefResolver; |
|
59 |
|
|
60 |
@Resource(name = "rcsbResolver") |
|
61 |
private PIDResolver rcsbResolver; |
|
62 |
|
|
63 |
@Resource(name = "enaResolver") |
|
64 |
private ENAResolver enaResolver; |
|
65 |
|
|
66 |
@Resource(name = "dataciteResolver") |
|
67 |
private PIDResolver dataciteResolver; |
|
68 |
|
|
69 |
@Autowired |
|
70 |
private ResolverStore store; |
|
71 |
|
|
72 |
@Autowired |
|
73 |
private DLIResolverSerializer serializer; |
|
74 |
|
|
75 |
@Mock |
|
76 |
private DLIUtils dliUtilsInstance; |
|
77 |
|
|
78 |
|
|
79 |
@Mock |
|
80 |
private UniqueServiceLocator uniqueServiceLocator; |
|
81 |
|
|
82 |
@Mock |
|
83 |
private ISLookUpService isLookUpServiceMock; |
|
84 |
|
|
85 |
|
|
86 |
@Before |
|
87 |
public void initialize() throws Exception { |
|
88 |
|
|
89 |
store.checkIntegrityCollection(); |
|
90 |
store.getResolverCollection().drop(); |
|
91 |
final String query = "for $x in collection('/db/DRIVER/RepositoryServiceResources/RepositoryServiceResourceType') " |
|
92 |
+ "return concat($x//FIELD[./key='NamespacePrefix']/value/text(),'@--@',$x//FIELD[./key='DataSourceId']/value/text(),'@--@',$x//ENGLISH_NAME )"; |
|
93 |
dliUtilsInstance = Mockito.mock(DLIUtils.class); |
|
94 |
|
|
95 |
uniqueServiceLocator = Mockito.mock(UniqueServiceLocator.class); |
|
96 |
isLookUpServiceMock = Mockito.mock(ISLookUpService.class); |
|
97 |
dliUtilsInstance.setServiceLocator(uniqueServiceLocator); |
|
98 |
|
|
99 |
DLIUtils.setInstance(dliUtilsInstance); |
|
100 |
when(dliUtilsInstance.getServiceLocator()).thenReturn(uniqueServiceLocator); |
|
101 |
final InputStream inputStream = this.getClass().getResourceAsStream("/eu/dnetlib/transformation/data-center.json"); |
|
102 |
|
|
103 |
when(dliUtilsInstance.getDataciteDatasource()).thenReturn(new Gson().fromJson(IOUtils.toString(inputStream), Map.class)); |
|
104 |
|
|
105 |
|
|
106 |
when(uniqueServiceLocator.getService(ISLookUpService.class)).thenReturn(isLookUpServiceMock); |
|
107 |
List<String> resutlDS = Arrays.asList( |
|
108 |
"r3d100010255@--@dli_________::r3d100010255@--@icpsr", |
|
109 |
"datacite____@--@dli_________::datacite____@--@Datasets in Datacite", |
|
110 |
"r3d100010134@--@dli_________::r3d100010134@--@pangaea", |
|
111 |
"r3d100010527@--@dli_________::r3d100010527@--@European Nucleotide Archive" |
|
112 |
|
|
113 |
|
|
114 |
); |
|
115 |
when(isLookUpServiceMock.quickSearchProfile(query)).thenReturn(resutlDS); |
|
116 |
DLIUtils.ontologies = OntologyLoader.loadOntologiesFromCp(); |
|
117 |
|
|
118 |
|
|
119 |
|
|
120 |
} |
|
121 |
|
|
122 | 26 |
@Test |
123 |
public void andsResolverTest() throws Exception { |
|
124 |
andsDataciteResolver.retrievePID("https://researchdata.ands.org.au/registry/registry_object/view/2756", "url",false); |
|
125 |
andsDataciteResolver.retrievePID("https://researchdata.ands.org.au/registry/registry_object/view/2756", "url",false); |
|
126 |
andsDataciteResolver.retrievePID("https://researchdata.ands.org.au/registry/registry_object/view/2756", "url",false); |
|
127 |
final DLIResolvedObject doi = (DLIResolvedObject) andsDataciteResolver.retrievePID("https://researchdata.ands.org.au/registry/registry_object/view/2756", "url",false); |
|
128 |
Assert.assertNotNull(doi); |
|
129 |
Assert.assertNotNull(doi.getTitles()); |
|
130 |
Assert.assertNotNull(doi.getDatasourceProvenance()); |
|
131 |
log.info(doi.getDatasourceProvenance()); |
|
27 |
public void TestNCBIResolver() throws IOException, URISyntaxException { |
|
28 |
InputStream s = this.getClass().getResourceAsStream("/eu/dnetlib/dli/parser/ncbi-p.xml"); |
|
132 | 29 |
|
133 |
}
|
|
30 |
URI url = new URI("https://www.ncbi.nlm.nih.gov/sviewer/viewer.fcgi?db=nuccore&val=aeb32453&page_size=5&fmt_mask=0&report=gbx&retmode=text&page=1&page_size=1");
|
|
134 | 31 |
|
135 |
@Test |
|
136 |
public void pubmedResolverTest() throws Exception { |
|
137 |
final DLIResolvedObject pubmedObject = (DLIResolvedObject) pubMedResolver.retrievePID("355643", "pubmedid",false); |
|
138 |
Assert.assertNotNull(pubmedObject); |
|
139 |
Assert.assertNotNull(pubmedObject.getAuthors()); |
|
140 |
Assert.assertNotNull(pubmedObject.getTitles()); |
|
141 |
} |
|
142 | 32 |
|
143 |
@Test |
|
144 |
public void openaireResolverTest() throws Exception { |
|
145 |
final DLIResolvedObject pubmedObject = (DLIResolvedObject) openaireResolver.retrievePID("oai:dnet:od_______908::f602032c963cc56d6c9e80508ece44d3", "openaire",false); |
|
146 |
System.out.println("pubmedObject = " + pubmedObject); |
|
147 |
Assert.assertNotNull(pubmedObject); |
|
148 |
Assert.assertNotNull(pubmedObject.getAuthors()); |
|
149 |
Assert.assertNotNull(pubmedObject.getTitles()); |
|
150 |
} |
|
33 |
NCBINParser parser = new NCBINParser(); |
|
151 | 34 |
|
35 |
System.out.println(IOUtils.toString(url)); |
|
152 | 36 |
|
153 |
@Test |
|
154 |
public void crossRefResolverTest() throws Exception { |
|
155 |
final DLIResolvedObject pubmedObject = (DLIResolvedObject) crossrefResolver.retrievePID("10.1086/424767", "doi",false); |
|
156 |
Assert.assertNotNull(pubmedObject); |
|
157 |
Assert.assertNotNull(pubmedObject.getAuthors()); |
|
158 |
Assert.assertNotNull(pubmedObject.getTitles()); |
|
159 |
} |
|
37 |
System.out.println(parser.parseRecord(IOUtils.toString(url))); |
|
38 |
} |
|
160 | 39 |
|
161 |
@Test |
|
162 |
public void rcsbResolverTest() throws Exception { |
|
163 |
final DLIResolvedObject pubmedObject = (DLIResolvedObject) rcsbResolver.retrievePID("2Y9C", "pdb",false); |
|
164 |
Assert.assertNotNull(pubmedObject); |
|
165 |
Assert.assertNotNull(pubmedObject.getAuthors()); |
|
166 |
Assert.assertNotNull(pubmedObject.getTitles()); |
|
167 |
|
|
168 |
} |
|
169 |
|
|
170 | 40 |
@Test |
171 |
public void enaResolverTest() throws java.lang.Exception { |
|
172 |
final DLIResolvedObject enaObject = (DLIResolvedObject) enaResolver.retrievePID("KP866224", "ena",false); |
|
173 |
Assert.assertNotNull(enaObject); |
|
174 |
Assert.assertNotNull(enaObject.getAuthors()); |
|
175 |
Assert.assertNotNull(enaObject.getTitles()); |
|
41 |
public void testDataciteResolver() { |
|
42 |
DataciteResolver resolver = new DataciteResolver(); |
|
43 |
System.out.println(resolver.resolve("10.5438/0012", "doi")); |
|
176 | 44 |
|
177 | 45 |
|
178 |
System.out.println("enaObject = " + enaObject); |
|
179 | 46 |
|
180 | 47 |
} |
181 | 48 |
|
182 |
@Test |
|
183 |
public void dataciteResolverTest() { |
|
184 |
final String[] dois = {"10.4121/uuid:c1d1fdbb-72df-470d-9315-d6f97e1d7c7c", "10.5517/ccnwwp2", |
|
185 |
"10.6085/AA/TPT006_061MXTI061R00_20020806.50.3", "10013/epic.26895.d001" }; |
|
186 |
int k = 0; |
|
187 |
double average_sum = 0.0f; |
|
188 |
DLIResolvedObject object = (DLIResolvedObject) dataciteResolver.retrievePID(dois[0], "handle",false); |
|
189 |
Assert.assertNotNull(object); |
|
190 |
object = (DLIResolvedObject) dataciteResolver.retrievePID(dois[1], "doi",false); |
|
191 |
Assert.assertNotNull(object); |
|
192 |
log.info(object); |
|
193 |
log.info(object.getSubjects()); |
|
194 |
log.info(serializer.serializeToXML(object)); |
|
195 |
|
|
196 |
} |
|
197 |
|
|
198 | 49 |
} |
199 | 50 |
|
Also available in: Unified diff
changed Datacite Resolver