Project

General

Profile

1
import java.security.Security;
2

    
3
import com.google.common.base.Function;
4
import eu.dnetlib.data.download.DownloadReportMap;
5
import eu.dnetlib.data.download.rmi.DownloadItem;
6
import eu.dnetlib.data.download.worker.DownloadWorker;
7
import eu.dnetlib.data.objectstore.modular.ObjectStoreRecord;
8
import eu.dnetlib.data.objectstore.modular.connector.ObjectStore;
9
import eu.dnetlib.data.objectstore.rmi.Protocols;
10

    
11
import org.junit.Before;
12
import org.junit.Ignore;
13
import org.junit.Test;
14
import org.junit.runner.RunWith;
15
import org.mockito.Mock;
16
import org.mockito.junit.MockitoJUnitRunner;
17

    
18
import static org.junit.Assert.assertEquals;
19
import static org.mockito.Matchers.any;
20
import static org.mockito.Mockito.when;
21

    
22
/**
23
 * Created by alessia on 22/12/16.
24
 */
25
@RunWith(MockitoJUnitRunner.class)
26
public class DownloadWorkerTest {
27

    
28
	private DownloadWorker dw;
29
	private DownloadReportMap reportMap;
30
	@Mock
31
	private ObjectStore objectStore;
32

    
33
	@Before
34
	public void prepare() throws Exception{
35
		//Security.insertProviderAt(new BouncyCastleProvider(),1);
36
		//System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2");
37
		reportMap = new DownloadReportMap();
38

    
39
		when(objectStore.feedObjectRecord(any(ObjectStoreRecord.class))).thenReturn("OK");
40

    
41
		dw = new DownloadWorker(null, objectStore, Protocols.valueOf("HTTP"), "application/pdf", 60000, 60000, 0,
42
				new Function<String, DownloadItem>() {
43

    
44
					@Override
45
					public DownloadItem apply(final String input) {
46
						return DownloadItem.newObjectfromJSON(input);
47
					}
48
				});
49
	}
50

    
51
	@Ignore
52
	@Test
53
	public void testSSL(){
54
		// String url = "https://econstor.eu/bitstream/10419/45606/1/658945068.pdf";
55
		String url = "https://www.preprints.org/manuscript/201909.0029/v1/download";
56
		dw.doDownload(1, reportMap, getDownloadItem("download.pdf", "download", url));
57

    
58
		System.out.println("Report map status "+reportMap.getStatus());
59
		assertEquals(1,reportMap.getTotalDownloaded());
60
	}
61

    
62
	private DownloadItem getDownloadItem(final String fileName, final String id, String url){
63
		DownloadItem item = new DownloadItem();
64
		item.setFileName(fileName);
65
		item.setIdItemMetadata(id);
66
		item.setOpenAccess("OPEN");
67
		item.setOriginalUrl(url);
68
		item.setUrl(url);
69
		return item;
70
	}
71
}
    (1-1/1)