1 package org.cateproject.persistence.dao.entrez.remoting;
2
3 import eu.etaxonomy.cdm.test.integration.CdmIntegrationTest;
4 import gov.nih.nlm.ncbi.www.soap.eutils.esearch.ESearchResultDocument.ESearchResult;
5 import gov.nih.nlm.ncbi.www.soap.eutils.esearch.ESearchResultDocument;
6 import gov.nih.nlm.ncbi.www.soap.eutils.esearch.IdListType;
7 import gov.nih.nlm.ncbi.www.soap.eutils.esummary.DocSumType;
8 import gov.nih.nlm.ncbi.www.soap.eutils.esummary.ESummaryResultDocument.ESummaryResult;
9 import gov.nih.nlm.ncbi.www.soap.eutils.esummary.impl.ItemTypeImpl;
10 import gov.nih.nlm.ncbi.www.soap.eutils.esummary.ItemType;
11
12 import org.apache.xmlbeans.XmlCursor;
13 import org.cateproject.persistence.dao.entrez.EntrezDAO;
14 import org.junit.Assert;
15 import org.junit.Before;
16 import org.junit.Ignore;
17 import org.junit.Test;
18 import org.unitils.spring.annotation.SpringBeanByType;
19
20 @Ignore
21 public class EntrezDAOImplTest extends CdmIntegrationTest {
22
23 @SpringBeanByType
24 EntrezDAO entrezDAO;
25
26 private ESearchResult result;
27
28 @Before
29 public void setUp() {
30 result = ESearchResultDocument.Factory.newInstance().addNewESearchResult();
31 IdListType idList = result.addNewIdList();
32 String[] ids = new String[] {
33 "186969830",
34 "164421972",
35 "186704190",
36 "186704189",
37 "186704188",
38 "186704187",
39 "186704186",
40 "186704185",
41 "186704184",
42 "133919903",
43 "110649251",
44 "110649249",
45 "110649247",
46 "110649245",
47 "110649243",
48 "110649237",
49 "110649235",
50 "110649233",
51 "110649231",
52 "110649229"
53 };
54 for(String id : ids) {
55 idList.addId(id);
56 }
57 }
58
59 @Test
60 public void testCreateDAO() {
61 Assert.assertNotNull(entrezDAO);
62 }
63
64 @Test
65 public void testSearchNames() {
66 ESearchResult result = entrezDAO.searchEntrez("Manduca sexta", 0, 10);
67 Assert.assertNotNull(result);
68 for(String id : result.getIdList().getIdArray()) {
69 System.out.println(id);
70 }
71 }
72
73 @Test
74 public void testGetNameSummaries() throws Exception {
75 ESummaryResult summary = entrezDAO.getSummaries(result);
76 for(DocSumType d : summary.getDocSumArray()) {
77 for(ItemType item : d.getItemArray()) {
78 StringBuilder sb = new StringBuilder();
79 sb.append(item.getName() + " ");
80 XmlCursor xmlCursor = ((ItemTypeImpl)item).newCursor();
81 sb.append(xmlCursor.getTextValue());
82 xmlCursor.dispose();
83 System.out.println(sb.toString());
84 }
85 }
86 }
87
88 @Test
89 public void testSearchAcherontiaAtropos() {
90 ESearchResult result = entrezDAO.searchEntrez("Acherontia atropos", 0, 10);
91 Assert.assertNotNull(result);
92 Assert.assertEquals(result.getCount(), "0");
93 System.out.println(result.getRetMax() + " " + result.getCount() + " " + result.getIdList().sizeOfIdArray());
94 }
95 }