Merge branch 'features/JAL-2326_JOptionPane-refactoring' into develop
[jalview.git] / test / jalview / util / UrlLinkTest.java
index 875dd7f..d07206f 100644 (file)
@@ -20,8 +20,8 @@
  */
 package jalview.util;
 
+import static jalview.util.UrlConstants.DB_ACCESSION;
 import static jalview.util.UrlConstants.SEQUENCE_ID;
-import static jalview.util.UrlConstants.SEQUENCE_NAME;
 import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertFalse;
 import static org.testng.AssertJUnit.assertNull;
@@ -30,17 +30,26 @@ import static org.testng.AssertJUnit.assertTrue;
 import jalview.datamodel.DBRefEntry;
 import jalview.datamodel.DBRefSource;
 import jalview.datamodel.Sequence;
+import jalview.gui.JvOptionPane;
 
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 public class UrlLinkTest
 {
 
+  @BeforeClass(alwaysRun = true)
+  public void setUpJvOptionPane()
+  {
+    JvOptionPane.setInteractiveMode(false);
+    JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
+  }
+
   final static String DB = "Test";
 
   final static String URL_PREFIX = "http://www.jalview.org/";
@@ -61,39 +70,39 @@ public class UrlLinkTest
   @Test(groups = { "Functional" })
   public void testUrlLinkCreationNoRegex()
   {
-    // SEQUENCE_NAME
-    UrlLink ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_NAME
+    // SEQUENCE_ID
+    UrlLink ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_ID
             + DELIM + URL_SUFFIX);
-    assertEquals(DB.toUpperCase(), ul.getTarget());
+    assertEquals(DB, ul.getTarget());
     assertEquals(DB, ul.getLabel());
     assertEquals(URL_PREFIX, ul.getUrl_prefix());
     assertEquals(URL_SUFFIX, ul.getUrl_suffix());
     assertTrue(ul.isDynamic());
-    assertFalse(ul.usesSeqId());
+    assertFalse(ul.usesDBAccession());
     assertNull(ul.getRegexReplace());
     assertTrue(ul.isValid());
     assertNull(ul.getInvalidMessage());
 
-    // SEQUENCE_ID
-    ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_ID + DELIM
+    // DB_ACCESSION
+    ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + DB_ACCESSION + DELIM
             + URL_SUFFIX);
-    assertEquals(DB.toUpperCase(), ul.getTarget());
+    assertEquals(DB, ul.getTarget());
     assertEquals(DB, ul.getLabel());
     assertEquals(URL_PREFIX, ul.getUrl_prefix());
     assertEquals(URL_SUFFIX, ul.getUrl_suffix());
     assertTrue(ul.isDynamic());
-    assertTrue(ul.usesSeqId());
+    assertTrue(ul.usesDBAccession());
     assertNull(ul.getRegexReplace());
     assertTrue(ul.isValid());
     assertNull(ul.getInvalidMessage());
 
     // Not dynamic
     ul = new UrlLink(DB + SEP + URL_PREFIX + URL_SUFFIX.substring(1));
-    assertEquals(DB.toUpperCase(), ul.getTarget());
+    assertEquals(DB, ul.getTarget());
     assertEquals(DB, ul.getLabel());
     assertEquals(URL_PREFIX + URL_SUFFIX.substring(1), ul.getUrl_prefix());
     assertFalse(ul.isDynamic());
-    assertFalse(ul.usesSeqId());
+    assertFalse(ul.usesDBAccession());
     assertNull(ul.getRegexReplace());
     assertTrue(ul.isValid());
     assertNull(ul.getInvalidMessage());
@@ -105,43 +114,43 @@ public class UrlLinkTest
   @Test(groups = { "Functional" })
   public void testUrlLinkCreationWithRegex()
   {
-    // SEQUENCE_NAME
-    UrlLink ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_NAME
+    // SEQUENCE_ID
+    UrlLink ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_ID
             + REGEX_NESTED + DELIM + URL_SUFFIX);
-    assertEquals(DB.toUpperCase(), ul.getTarget());
+    assertEquals(DB, ul.getTarget());
     assertEquals(DB, ul.getLabel());
     assertEquals(URL_PREFIX, ul.getUrl_prefix());
     assertEquals(URL_SUFFIX, ul.getUrl_suffix());
     assertTrue(ul.isDynamic());
-    assertFalse(ul.usesSeqId());
+    assertFalse(ul.usesDBAccession());
     assertEquals(REGEX_NESTED.substring(2, REGEX_NESTED.length() - 2),
             ul.getRegexReplace());
     assertTrue(ul.isValid());
     assertNull(ul.getInvalidMessage());
 
-    // SEQUENCE_ID
-    ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_ID
+    // DB_ACCESSION
+    ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + DB_ACCESSION
             + REGEX_NESTED + DELIM + URL_SUFFIX);
-    assertEquals(DB.toUpperCase(), ul.getTarget());
+    assertEquals(DB, ul.getTarget());
     assertEquals(DB, ul.getLabel());
     assertEquals(URL_PREFIX, ul.getUrl_prefix());
     assertEquals(URL_SUFFIX, ul.getUrl_suffix());
     assertTrue(ul.isDynamic());
-    assertTrue(ul.usesSeqId());
+    assertTrue(ul.usesDBAccession());
     assertEquals(REGEX_NESTED.substring(2, REGEX_NESTED.length() - 2),
             ul.getRegexReplace());
     assertTrue(ul.isValid());
     assertNull(ul.getInvalidMessage());
 
     // invalid regex
-    ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_ID
+    ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + DB_ACCESSION
             + REGEX_RUBBISH + DELIM + URL_SUFFIX);
-    assertEquals(DB.toUpperCase(), ul.getTarget());
+    assertEquals(DB, ul.getTarget());
     assertEquals(DB, ul.getLabel());
     assertEquals(URL_PREFIX, ul.getUrl_prefix());
     assertEquals(URL_SUFFIX, ul.getUrl_suffix());
     assertTrue(ul.isDynamic());
-    assertTrue(ul.usesSeqId());
+    assertTrue(ul.usesDBAccession());
     assertEquals(REGEX_RUBBISH.substring(2, REGEX_RUBBISH.length() - 2),
             ul.getRegexReplace());
     assertFalse(ul.isValid());
@@ -159,7 +168,7 @@ public class UrlLinkTest
   public void testMakeUrlNoRegex()
   {
     // Single non-regex
-    UrlLink ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_NAME
+    UrlLink ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_ID
             + DELIM + URL_SUFFIX);
     String idstring = "FER_CAPAA";
     String[] urls = ul.makeUrls(idstring, true);
@@ -183,7 +192,7 @@ public class UrlLinkTest
   public void testMakeUrlWithRegex()
   {
     // Unused regex
-    UrlLink ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_ID
+    UrlLink ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + DB_ACCESSION
             + REGEX_NESTED + DELIM + URL_SUFFIX);
     String idstring = "FER_CAPAA";
     String[] urls = ul.makeUrls(idstring, true);
@@ -259,7 +268,7 @@ public class UrlLinkTest
   @Test(groups = { "Functional" })
   public void testCreateLinksFromNullSequence()
   {
-    UrlLink ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_NAME
+    UrlLink ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_ID
             + DELIM + URL_SUFFIX);
 
     Map<String, List<String>> linkset = new LinkedHashMap<String, List<String>>();
@@ -268,7 +277,7 @@ public class UrlLinkTest
     String key = DB + SEP + URL_PREFIX;
     assertEquals(1, linkset.size());
     assertTrue(linkset.containsKey(key));
-    assertEquals(linkset.get(key).get(0), DB.toUpperCase());
+    assertEquals(linkset.get(key).get(0), DB);
     assertEquals(linkset.get(key).get(1), DB);
     assertEquals(linkset.get(key).get(2), null);
     assertEquals(linkset.get(key).get(3), URL_PREFIX);
@@ -288,7 +297,7 @@ public class UrlLinkTest
     String key = DB + SEP + URL_PREFIX + URL_SUFFIX;
     assertEquals(1, linkset.size());
     assertTrue(linkset.containsKey(key));
-    assertEquals(linkset.get(key).get(0), DB.toUpperCase());
+    assertEquals(linkset.get(key).get(0), DB);
     assertEquals(linkset.get(key).get(1), DB);
     assertEquals(linkset.get(key).get(2), null);
     assertEquals(linkset.get(key).get(3), URL_PREFIX + URL_SUFFIX);
@@ -307,11 +316,11 @@ public class UrlLinkTest
 
     // links as might be added into Preferences | Connections dialog
     links.add("EMBL-EBI Search | http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$"
-            + SEQUENCE_NAME + "$");
-    links.add("UNIPROT | http://www.uniprot.org/uniprot/$" + SEQUENCE_ID
+            + SEQUENCE_ID + "$");
+    links.add("UNIPROT | http://www.uniprot.org/uniprot/$" + DB_ACCESSION
             + "$");
     links.add("INTERPRO | http://www.ebi.ac.uk/interpro/entry/$"
-            + SEQUENCE_ID + "$");
+            + DB_ACCESSION + "$");
 
     // make seq0 dbrefs
     refs.add(new DBRefEntry(DBRefSource.UNIPROT, "1", "P83527"));
@@ -329,7 +338,7 @@ public class UrlLinkTest
     seq0.createDatasetSequence();
 
     // Test where link takes a sequence id as replacement
-    UrlLink ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_NAME
+    UrlLink ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_ID
             + DELIM + URL_SUFFIX);
 
     Map<String, List<String>> linkset = new LinkedHashMap<String, List<String>>();
@@ -339,7 +348,7 @@ public class UrlLinkTest
             + URL_SUFFIX;
     assertEquals(1, linkset.size());
     assertTrue(linkset.containsKey(key));
-    assertEquals(linkset.get(key).get(0), DB.toUpperCase());
+    assertEquals(linkset.get(key).get(0), DB);
     assertEquals(linkset.get(key).get(1), DB);
     assertEquals(linkset.get(key).get(2), seq0.getName());
     assertEquals(linkset.get(key).get(3), URL_PREFIX + seq0.getName()
@@ -392,7 +401,7 @@ public class UrlLinkTest
             "http://www.ebi.ac.uk/interpro/entry/IPR012675");
 
     // Test where there are no matching dbrefs for the link
-    ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + SEQUENCE_ID + DELIM
+    ul = new UrlLink(DB + SEP + URL_PREFIX + DELIM + DB_ACCESSION + DELIM
             + URL_SUFFIX);
     linkset = new LinkedHashMap<String, List<String>>();
     ul.createLinksFromSeq(seq0, linkset);