Project

General

Profile

« Previous | Next » 

Revision 52968

changed Datacite Resolver

View differences:

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