Project

General

Profile

1
package eu.dnetlib.resolver;
2

    
3
import javax.annotation.Resource;
4

    
5
import eu.dnetlib.resolver.model.ResolvedObject;
6
import eu.dnetlib.resolver.store.ConfigurationResolverStoreTestConfig;
7
import org.apache.commons.logging.Log;
8
import org.apache.commons.logging.LogFactory;
9
import org.apache.cxf.common.i18n.Exception;
10
import org.junit.Assert;
11
import org.junit.Test;
12
import org.junit.runner.RunWith;
13
import org.springframework.test.context.ContextConfiguration;
14
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
15

    
16
/**
17
 * Created by sandro on 9/8/16.
18
 */
19
@RunWith(SpringJUnit4ClassRunner.class)
20
@ContextConfiguration(classes = { ConfigurationTestConfig.class, ConfigurationResolverStoreTestConfig.class })
21
public class DLIResolverTest {
22

    
23
	private static final Log log = LogFactory.getLog(DLIResolverTest.class);
24

    
25
	@Resource(name = "andsResolver")
26
	private PIDResolver andsDataciteResolver;
27

    
28
	@Resource(name = "pubMedResolver")
29
	private PIDResolver pubMedResolver;
30

    
31
	@Resource(name = "openaireResolver")
32
	private PIDResolver openaireResolver;
33

    
34
	@Resource(name = "crossrefResolver")
35
	private PIDResolver crossrefResolver;
36

    
37
	@Resource(name = "rcsbResolver")
38
	private PIDResolver rcsbResolver;
39

    
40
	@Resource(name = "dataciteResolver")
41
	private PIDResolver dataciteResolver;
42

    
43
	@Test
44
	public void andsResolverTest() throws Exception {
45
		andsDataciteResolver.retrievePID("https://researchdata.ands.org.au/registry/registry_object/view/2756", "url");
46
		andsDataciteResolver.retrievePID("https://researchdata.ands.org.au/registry/registry_object/view/2756", "url");
47
		andsDataciteResolver.retrievePID("https://researchdata.ands.org.au/registry/registry_object/view/2756", "url");
48
		final ResolvedObject doi = andsDataciteResolver.retrievePID("https://researchdata.ands.org.au/registry/registry_object/view/2756", "url");
49
		Assert.assertNotNull(doi);
50
		Assert.assertNotNull(doi.getTitles());
51
		Assert.assertNotNull(doi.getDatasourceProvenance());
52

    
53
	}
54

    
55
	@Test
56
	public void pubmedResolverTest() throws Exception {
57
		final ResolvedObject pubmedObject = pubMedResolver.retrievePID("11125129", "pubmedid");
58
		Assert.assertNotNull(pubmedObject);
59
		Assert.assertNotNull(pubmedObject.getAuthors());
60
		Assert.assertNotNull(pubmedObject.getTitles());
61
	}
62

    
63
	@Test
64
	public void openaireResolverTest() throws Exception {
65
		final ResolvedObject pubmedObject = openaireResolver.retrievePID("od_______908::ff0270cae25acd9367ef26a53ee5e4a3", "openaire");
66
		System.out.println("pubmedObject = " + pubmedObject);
67
		Assert.assertNotNull(pubmedObject);
68
		Assert.assertNotNull(pubmedObject.getAuthors());
69
		Assert.assertNotNull(pubmedObject.getTitles());
70
	}
71

    
72
	@Test
73
	public void crossRefResolverTest() throws Exception {
74
		final ResolvedObject pubmedObject = crossrefResolver.retrievePID("10.1177/0959683614565954", "doi");
75
		Assert.assertNotNull(pubmedObject);
76
		Assert.assertNotNull(pubmedObject.getAuthors());
77
		Assert.assertNotNull(pubmedObject.getTitles());
78
	}
79

    
80
	@Test
81
	public void rcsbResolverTest() throws Exception {
82
		final ResolvedObject pubmedObject = rcsbResolver.retrievePID("2Y9C", "pdb");
83
		Assert.assertNotNull(pubmedObject);
84
		Assert.assertNotNull(pubmedObject.getAuthors());
85
		Assert.assertNotNull(pubmedObject.getTitles());
86
	}
87

    
88
	@Test
89
	public void dataciteResolverTest() {
90
		final String[] dois = { "10.6085/AA/TPT006_061MXTI061R00_20020806.50.s", "10.6085/AA/TPT006_061MXTI061R00_20020806.50.1",
91
				"10.6085/AA/TPT006_061MXTI061R00_20020806.50.3" };
92
		int k = 0;
93
		double average_sum = 0.0f;
94

    
95
		while (k < 100) {
96
			for (int i = 0; i < dois.length; i++) {
97
				long start = System.currentTimeMillis();
98
				if (i == 0) {
99
					Assert.assertNull(dataciteResolver.retrievePID(dois[i], "doi"));
100
				} else {
101
					Assert.assertNotNull(dataciteResolver.retrievePID(dois[i], "doi"));
102
				}
103
				long end = System.currentTimeMillis();
104
				average_sum += end - start;
105
			}
106
			k++;
107
		}
108

    
109
		log.info("Average time on request 3 item 100 times " + average_sum / 100 + "ms");
110
	}
111

    
112
}
113

    
(4-4/4)