2020-04-27 14:52:31 +02:00
|
|
|
|
2019-10-24 11:36:59 +02:00
|
|
|
package eu.dnetlib.dhp.collector.worker;
|
2019-04-03 16:05:16 +02:00
|
|
|
|
2020-04-18 12:42:58 +02:00
|
|
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
|
|
import static org.mockito.Mockito.*;
|
|
|
|
|
2020-04-28 11:23:29 +02:00
|
|
|
import java.io.File;
|
|
|
|
|
|
|
|
import org.junit.jupiter.api.AfterEach;
|
|
|
|
import org.junit.jupiter.api.BeforeEach;
|
2020-06-09 19:52:53 +02:00
|
|
|
import org.junit.jupiter.api.Disabled;
|
2020-04-28 11:23:29 +02:00
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
2019-10-02 14:45:12 +02:00
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
2020-04-28 11:23:29 +02:00
|
|
|
|
2019-10-02 14:45:12 +02:00
|
|
|
import eu.dnetlib.collector.worker.model.ApiDescriptor;
|
2019-10-03 12:22:44 +02:00
|
|
|
import eu.dnetlib.dhp.application.ArgumentApplicationParser;
|
2019-10-24 11:36:59 +02:00
|
|
|
import eu.dnetlib.dhp.collection.worker.DnetCollectorWorker;
|
|
|
|
import eu.dnetlib.dhp.collection.worker.utils.CollectorPluginFactory;
|
2019-10-02 14:45:12 +02:00
|
|
|
import eu.dnetlib.message.Message;
|
|
|
|
import eu.dnetlib.message.MessageManager;
|
2019-04-03 16:05:16 +02:00
|
|
|
|
2020-06-09 19:52:53 +02:00
|
|
|
@Disabled
|
2019-04-03 16:05:16 +02:00
|
|
|
public class DnetCollectorWorkerApplicationTests {
|
|
|
|
|
2020-04-29 19:09:07 +02:00
|
|
|
private final ArgumentApplicationParser argumentParser = mock(ArgumentApplicationParser.class);
|
|
|
|
private final MessageManager messageManager = mock(MessageManager.class);
|
2019-10-02 14:45:12 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
private DnetCollectorWorker worker;
|
2020-04-18 12:42:58 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
@BeforeEach
|
|
|
|
public void setup() throws Exception {
|
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
|
final String apiJson = mapper.writeValueAsString(getApi());
|
|
|
|
when(argumentParser.get("apidescriptor")).thenReturn(apiJson);
|
|
|
|
when(argumentParser.get("namenode")).thenReturn("file://tmp/test.seq");
|
|
|
|
when(argumentParser.get("hdfsPath")).thenReturn("/tmp/file.seq");
|
|
|
|
when(argumentParser.get("userHDFS")).thenReturn("sandro");
|
|
|
|
when(argumentParser.get("workflowId")).thenReturn("sandro");
|
|
|
|
when(argumentParser.get("rabbitOngoingQueue")).thenReturn("sandro");
|
2019-10-02 14:45:12 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
when(messageManager.sendMessage(any(Message.class), anyString(), anyBoolean(), anyBoolean()))
|
|
|
|
.thenAnswer(
|
|
|
|
a -> {
|
|
|
|
System.out.println("sent message: " + a.getArguments()[0]);
|
|
|
|
return true;
|
|
|
|
});
|
|
|
|
when(messageManager.sendMessage(any(Message.class), anyString()))
|
|
|
|
.thenAnswer(
|
|
|
|
a -> {
|
|
|
|
System.out.println("Called");
|
|
|
|
return true;
|
|
|
|
});
|
|
|
|
worker = new DnetCollectorWorker(new CollectorPluginFactory(), argumentParser, messageManager);
|
|
|
|
}
|
2019-10-02 14:45:12 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
@AfterEach
|
|
|
|
public void dropDown() {
|
|
|
|
File f = new File("/tmp/file.seq");
|
|
|
|
f.delete();
|
|
|
|
}
|
2019-10-02 14:45:12 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
@Test
|
|
|
|
public void testFindPlugin() throws Exception {
|
|
|
|
final CollectorPluginFactory collectorPluginEnumerator = new CollectorPluginFactory();
|
|
|
|
assertNotNull(collectorPluginEnumerator.getPluginByProtocol("oai"));
|
|
|
|
assertNotNull(collectorPluginEnumerator.getPluginByProtocol("OAI"));
|
|
|
|
}
|
2019-10-02 14:45:12 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
@Test
|
|
|
|
public void testCollectionOAI() throws Exception {
|
|
|
|
final ApiDescriptor api = new ApiDescriptor();
|
|
|
|
api.setId("oai");
|
|
|
|
api.setProtocol("oai");
|
|
|
|
api.setBaseUrl("http://www.revista.vocesdelaeducacion.com.mx/index.php/index/oai");
|
|
|
|
api.getParams().put("format", "oai_dc");
|
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
|
assertNotNull(mapper.writeValueAsString(api));
|
|
|
|
}
|
2019-04-03 16:05:16 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
@Test
|
|
|
|
public void testFeeding() throws Exception {
|
|
|
|
worker.collect();
|
|
|
|
}
|
2019-04-03 16:05:16 +02:00
|
|
|
|
2020-04-27 14:52:31 +02:00
|
|
|
private ApiDescriptor getApi() {
|
|
|
|
final ApiDescriptor api = new ApiDescriptor();
|
|
|
|
api.setId("oai");
|
|
|
|
api.setProtocol("oai");
|
|
|
|
api.setBaseUrl("http://www.revista.vocesdelaeducacion.com.mx/index.php/index/oai");
|
|
|
|
api.getParams().put("format", "oai_dc");
|
|
|
|
return api;
|
|
|
|
}
|
2019-04-03 16:05:16 +02:00
|
|
|
}
|