JAL-3438 spotless for 2.11.2.0
[jalview.git] / test / jalview / ext / ensembl / EnsemblXrefTest.java
index 5073423..9247316 100644 (file)
@@ -1,68 +1,87 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.ext.ensembl;
 
 import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertTrue;
+import static org.testng.AssertJUnit.assertFalse;
 
 import jalview.datamodel.DBRefEntry;
+import jalview.gui.JvOptionPane;
+import jalview.util.JSONUtils;
 
-import java.io.BufferedReader;
 import java.io.IOException;
-import java.io.StringReader;
 import java.net.URL;
-import java.util.Arrays;
 import java.util.List;
 
+import org.json.simple.parser.ParseException;
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 public class EnsemblXrefTest
 {
+
+  @BeforeClass(alwaysRun = true)
+  public void setUpJvOptionPane()
+  {
+    JvOptionPane.setInteractiveMode(false);
+    JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
+  }
+
   //@formatter:off
   private static final String JSON = 
           "[{\"primary_id\":\"CCDS5863\",\"dbname\":\"CCDS\"}," +
-           "{\"primary_id\":\"P15056\",\"dbname\":\"Uniprot/SWISSPROT\"}]";
+           "{\"primary_id\":\"P15056\",\"dbname\":\"Uniprot/SWISSPROT\",\"synonyms\":[\"C21\"]}," +
+           "{\"primary_id\":\"GO:0000165\",\"dbname\":\"GO\"}]";
   //@formatter:on
 
-  @Test(groups = "functional")
+  @Test(groups = "Functional")
   public void testGetCrossReferences()
   {
+    String dbName = "ENSEMBL";
+    String dbVers = "0.6.2b1";
     System.out.println(JSON);
-    EnsemblXref testee = new EnsemblXref("http://rest.ensembl.org")
+    EnsemblXref testee = new EnsemblXref("http://rest.ensembl.org", dbName,
+            dbVers)
     {
+      @SuppressWarnings("unchecked")
       @Override
-      protected BufferedReader getHttpResponse(URL url, List<String> ids)
-              throws IOException
+      protected Object getJSON(URL url, List<String> ids, int msDelay,
+              int mode, String mapKey) throws IOException, ParseException
       {
-        return new BufferedReader(new StringReader(JSON));
+        return ((List<Object>) JSONUtils.parse(JSON)).iterator();
       }
+
     };
 
-    /*
-     * with no filter
-     */
-    List<DBRefEntry> dbrefs = testee.getCrossReferences("ABCDE", null);
+    // synonyms and GO terms are not returned
+    List<DBRefEntry> dbrefs = testee.getCrossReferences("ABCDE");
     assertEquals(2, dbrefs.size());
     assertEquals("CCDS", dbrefs.get(0).getSource());
     assertEquals("CCDS5863", dbrefs.get(0).getAccessionId());
+    assertFalse(dbrefs.get(0).isPrimaryCandidate());
+    assertEquals(dbName + ":" + dbVers, dbrefs.get(0).getVersion());
     // Uniprot name should get converted to Jalview canonical form
     assertEquals("UNIPROT", dbrefs.get(1).getSource());
     assertEquals("P15056", dbrefs.get(1).getAccessionId());
-
-    /*
-     * filter for Uniprot only
-     */
-    dbrefs = testee.getCrossReferences(
-            "ABCDE",
-            Arrays.asList(new String[] { "Uniprot/SWISSPROT",
-                "Uniprot/SPTREMBL" }));
-    assertEquals(1, dbrefs.size());
-    assertEquals("UNIPROT", dbrefs.get(0).getSource());
-    assertEquals("P15056", dbrefs.get(0).getAccessionId());
-
-    /*
-     * filter for PDB only
-     */
-    dbrefs = testee.getCrossReferences("ABCDE",
-            Arrays.asList(new String[] { "PDB" }));
-    assertTrue(dbrefs.isEmpty());
+    assertEquals(dbName + ":" + dbVers, dbrefs.get(1).getVersion());
+    assertFalse(dbrefs.get(1).isPrimaryCandidate());
   }
 }