1 package jalview.ext.ensembl;
3 import static org.testng.AssertJUnit.assertEquals;
4 import static org.testng.AssertJUnit.assertTrue;
6 import jalview.datamodel.DBRefEntry;
8 import java.io.BufferedReader;
9 import java.io.IOException;
10 import java.io.StringReader;
12 import java.util.Arrays;
13 import java.util.List;
15 import org.testng.annotations.Test;
17 public class EnsemblXrefTest
20 private static final String JSON =
21 "[{\"primary_id\":\"CCDS5863\",\"dbname\":\"CCDS\"}," +
22 "{\"primary_id\":\"P15056\",\"dbname\":\"Uniprot/SWISSPROT\"}]";
25 @Test(groups = "functional")
26 public void testGetCrossReferences()
28 System.out.println(JSON);
29 EnsemblXref testee = new EnsemblXref("http://rest.ensembl.org")
32 protected BufferedReader getHttpResponse(URL url, List<String> ids)
35 return new BufferedReader(new StringReader(JSON));
42 List<DBRefEntry> dbrefs = testee.getCrossReferences("ABCDE", null);
43 assertEquals(2, dbrefs.size());
44 assertEquals("CCDS", dbrefs.get(0).getSource());
45 assertEquals("CCDS5863", dbrefs.get(0).getAccessionId());
46 // Uniprot name should get converted to Jalview canonical form
47 assertEquals("UNIPROT", dbrefs.get(1).getSource());
48 assertEquals("P15056", dbrefs.get(1).getAccessionId());
51 * filter for Uniprot only
53 dbrefs = testee.getCrossReferences(
55 Arrays.asList(new String[] { "Uniprot/SWISSPROT",
56 "Uniprot/SPTREMBL" }));
57 assertEquals(1, dbrefs.size());
58 assertEquals("UNIPROT", dbrefs.get(0).getSource());
59 assertEquals("P15056", dbrefs.get(0).getAccessionId());
64 dbrefs = testee.getCrossReferences("ABCDE",
65 Arrays.asList(new String[] { "PDB" }));
66 assertTrue(dbrefs.isEmpty());