Project

General

Profile

1
package eu.dnetlib.api.client;
2

    
3
import java.net.URI;
4
import java.net.URISyntaxException;
5

    
6
import eu.dnetlib.api.utils.OpenAireDocumentPage;
7
import eu.dnetlib.api.utils.ResponseHeader;
8
import org.apache.http.client.utils.URIBuilder;
9
import org.dom4j.Document;
10
import org.dom4j.DocumentException;
11
import org.dom4j.DocumentHelper;
12
import org.junit.Ignore;
13
import org.junit.Test;
14

    
15
import static org.junit.Assert.assertEquals;
16
import static org.junit.Assert.assertTrue;
17

    
18
@Ignore
19
public class OpenaireDatasetsApiClientTest extends OpenaireApiClientTest {
20

    
21
	@Test
22
	public void testDatasetsOpenaire() throws URISyntaxException, DocumentException {
23
		URIBuilder builder = new URIBuilder(requestBaseURL).setPath(datasetsPath);
24
		String results = getApiClient().doRequest(EntityType.dataset, ApiModel.openaire, builder.build());
25
		Document doc = DocumentHelper.parseText(results);
26
		OpenAireDocumentPage page = new OpenAireDocumentPage(doc);
27
		ResponseHeader pageHeader = page.getResponseHeader();
28
		assertEquals(datasetsQuery, pageHeader.getQuery());
29
		assertEquals(1, pageHeader.getPage());
30
		assertEquals(defaultPageSize, pageHeader.getPageSize());
31
	}
32

    
33
	@Test
34
	public void testMaxPageSizeDataset() throws URISyntaxException, DocumentException {
35
		URIBuilder builder = new URIBuilder(requestBaseURL).setPath(datasetsPath).addParameter("size", "" + MAX_PAGE_SIZE + 1);
36
		URI uri = builder.build();
37
		System.out.println(uri);
38
		String results = getApiClient().doRequest(EntityType.publication, ApiModel.openaire, uri);
39
		checkException(results, "java.lang.IllegalArgumentException");
40

    
41
		builder = new URIBuilder(requestBaseURL).setPath(datasetsPath).addParameter("size", "" + MAX_PAGE_SIZE);
42
		uri = builder.build();
43
		System.out.println(uri);
44
		results = getApiClient().doRequest(EntityType.publication, ApiModel.openaire, uri);
45
		checkNotException(results);
46

    
47
		assertTrue(MAX_NUM_RESULTS >= MAX_PAGE_SIZE);
48
	}
49

    
50
	@Test
51
	public void testDatasetParameters() throws URISyntaxException, DocumentException {
52
		for (String param : commonParameters) {
53
			if (!param.equals("model") && !param.equals("format") && !param.equals("page") && !param.equals("size") && !param.equals("sortBy")) {
54
				URIBuilder builder = new URIBuilder(requestBaseURL).setPath(datasetsPath).addParameter(param, "test");
55
				URI uri = builder.build();
56
				System.out.println(uri);
57
				String results = getApiClient().doRequest(EntityType.dataset, ApiModel.openaire, uri);
58
				checkNotException(results);
59
			}
60
		}
61
		for (String param : datasetParameters) {
62
			URIBuilder builder = null;
63
			if (!param.equals("fromDateAccepted") && !param.equals("toDateAccepted")) {
64
				builder = new URIBuilder(requestBaseURL).setPath(datasetsPath).addParameter(param, "test");
65
			}
66
			else {
67
				builder = new URIBuilder(requestBaseURL).setPath(datasetsPath).addParameter(param, "2017-06-15");
68
			}
69
			URI uri = builder.build();
70
			System.out.println(uri);
71
			String results = getApiClient().doRequest(EntityType.dataset, ApiModel.openaire, uri);
72
			checkNotException(results);
73
		}
74
	}
75

    
76
	@Test
77
	public void testSortByDatasetsParameters() throws URISyntaxException, DocumentException {
78
		checkSortByParamaters(EntityType.dataset);
79
	}
80

    
81
	@Test
82
	public void testDatasetsOpenaireSortBy() throws URISyntaxException, DocumentException {
83
		String sortBy = "projectstartyear,descending";
84
		URIBuilder builder = new URIBuilder(requestBaseURL).setPath(datasetsPath).setParameter("sortBy", sortBy);
85
		String results = getApiClient().doRequest(EntityType.dataset, ApiModel.openaire, builder.build());
86
		System.out.println(results);
87
		// Document doc = DocumentHelper.parseText(results);
88
		// OpenAireDocumentPage page = new OpenAireDocumentPage(doc);
89
		// ResponseHeader pageHeader = page.getResponseHeader();
90
		// assertEquals(datasetsQuery, pageHeader.getQuery());
91
		// assertEquals(1, pageHeader.getPage());
92
		// assertEquals(defaultPageSize, pageHeader.getPageSize());
93
	}
94

    
95
}
(2-2/5)