X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Futil%2FUrlLinkTest.java;h=4092cf2ff7f2b2ad87022eaf9023e8f6aec332c5;hb=1e4f81da4ca1c584213557180c1358ede40880d4;hp=875dd7fcef27a0eeee25e1e8bab7e33e900a2aba;hpb=717ed17ca6afa23d73e2afb55cc4d46d83c678ed;p=jalview.git diff --git a/test/jalview/util/UrlLinkTest.java b/test/jalview/util/UrlLinkTest.java index 875dd7f..4092cf2 100644 --- a/test/jalview/util/UrlLinkTest.java +++ b/test/jalview/util/UrlLinkTest.java @@ -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()); + assertEquals(URL_PREFIX, ul.getUrlPrefix()); + assertEquals(URL_SUFFIX, ul.getUrlSuffix()); 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()); + assertEquals(URL_PREFIX, ul.getUrlPrefix()); + assertEquals(URL_SUFFIX, ul.getUrlSuffix()); 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()); + assertEquals(URL_PREFIX + URL_SUFFIX.substring(1), ul.getUrlPrefix()); 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()); + assertEquals(URL_PREFIX, ul.getUrlPrefix()); + assertEquals(URL_SUFFIX, ul.getUrlSuffix()); 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()); + assertEquals(URL_PREFIX, ul.getUrlPrefix()); + assertEquals(URL_SUFFIX, ul.getUrlSuffix()); 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()); + assertEquals(URL_PREFIX, ul.getUrlPrefix()); + assertEquals(URL_SUFFIX, ul.getUrlSuffix()); 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> linkset = new LinkedHashMap>(); @@ -268,10 +277,10 @@ 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(1), DB); - assertEquals(linkset.get(key).get(2), null); - assertEquals(linkset.get(key).get(3), URL_PREFIX); + assertEquals(DB, linkset.get(key).get(0)); + assertEquals(DB, linkset.get(key).get(1)); + assertEquals(null, linkset.get(key).get(2)); + assertEquals(URL_PREFIX, linkset.get(key).get(3)); } /** @@ -288,10 +297,10 @@ 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(1), DB); - assertEquals(linkset.get(key).get(2), null); - assertEquals(linkset.get(key).get(3), URL_PREFIX + URL_SUFFIX); + assertEquals(DB, linkset.get(key).get(0)); + assertEquals(DB, linkset.get(key).get(1)); + assertEquals(null, linkset.get(key).get(2)); + assertEquals(URL_PREFIX + URL_SUFFIX, linkset.get(key).get(3)); } /** @@ -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> linkset = new LinkedHashMap>(); @@ -339,11 +348,11 @@ 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(1), DB); - assertEquals(linkset.get(key).get(2), seq0.getName()); - assertEquals(linkset.get(key).get(3), URL_PREFIX + seq0.getName() - + URL_SUFFIX); + assertEquals(DB, linkset.get(key).get(0)); + assertEquals(DB, linkset.get(key).get(1)); + assertEquals(seq0.getName(), linkset.get(key).get(2)); + assertEquals(URL_PREFIX + seq0.getName() + URL_SUFFIX, linkset.get(key) + .get(3)); // Test where link takes a db annotation id and only has one dbref ul = new UrlLink(links.get(1)); @@ -351,14 +360,14 @@ public class UrlLinkTest ul.createLinksFromSeq(seq0, linkset); key = "P83527|http://www.uniprot.org/uniprot/P83527"; - assertEquals(1, linkset.size()); + assertEquals(linkset.size(), 1); assertTrue(linkset.containsKey(key)); - assertEquals(linkset.get(key).get(0), DBRefSource.UNIPROT); - assertEquals(linkset.get(key).get(1), DBRefSource.UNIPROT + SEP - + "P83527"); - assertEquals(linkset.get(key).get(2), "P83527"); - assertEquals(linkset.get(key).get(3), - "http://www.uniprot.org/uniprot/P83527"); + assertEquals(DBRefSource.UNIPROT, linkset.get(key).get(0)); + assertEquals(DBRefSource.UNIPROT + SEP + "P83527", linkset.get(key) + .get(1)); + assertEquals("P83527", linkset.get(key).get(2)); + assertEquals("http://www.uniprot.org/uniprot/P83527", linkset.get(key) + .get(3)); // Test where link takes a db annotation id and has multiple dbrefs ul = new UrlLink(links.get(2)); @@ -369,34 +378,65 @@ public class UrlLinkTest // check each link made it in correctly key = "IPR001041|http://www.ebi.ac.uk/interpro/entry/IPR001041"; assertTrue(linkset.containsKey(key)); - assertEquals(linkset.get(key).get(0), "INTERPRO"); - assertEquals(linkset.get(key).get(1), "INTERPRO" + SEP + "IPR001041"); - assertEquals(linkset.get(key).get(2), "IPR001041"); - assertEquals(linkset.get(key).get(3), - "http://www.ebi.ac.uk/interpro/entry/IPR001041"); + assertEquals("INTERPRO", linkset.get(key).get(0)); + assertEquals("INTERPRO" + SEP + "IPR001041", linkset.get(key).get(1)); + assertEquals("IPR001041", linkset.get(key).get(2)); + assertEquals("http://www.ebi.ac.uk/interpro/entry/IPR001041", linkset + .get(key).get(3)); key = "IPR006058|http://www.ebi.ac.uk/interpro/entry/IPR006058"; assertTrue(linkset.containsKey(key)); - assertEquals(linkset.get(key).get(0), "INTERPRO"); - assertEquals(linkset.get(key).get(1), "INTERPRO" + SEP + "IPR006058"); - assertEquals(linkset.get(key).get(2), "IPR006058"); - assertEquals(linkset.get(key).get(3), - "http://www.ebi.ac.uk/interpro/entry/IPR006058"); + assertEquals("INTERPRO", linkset.get(key).get(0)); + assertEquals("INTERPRO" + SEP + "IPR006058", linkset.get(key).get(1)); + assertEquals("IPR006058", linkset.get(key).get(2)); + assertEquals("http://www.ebi.ac.uk/interpro/entry/IPR006058", linkset + .get(key).get(3)); key = "IPR012675|http://www.ebi.ac.uk/interpro/entry/IPR012675"; assertTrue(linkset.containsKey(key)); - assertEquals(linkset.get(key).get(0), "INTERPRO"); - assertEquals(linkset.get(key).get(1), "INTERPRO" + SEP + "IPR012675"); - assertEquals(linkset.get(key).get(2), "IPR012675"); - assertEquals(linkset.get(key).get(3), - "http://www.ebi.ac.uk/interpro/entry/IPR012675"); + assertEquals("INTERPRO", linkset.get(key).get(0)); + assertEquals("INTERPRO" + SEP + "IPR012675", linkset.get(key).get(1)); + assertEquals("IPR012675", linkset.get(key).get(2)); + assertEquals("http://www.ebi.ac.uk/interpro/entry/IPR012675", linkset + .get(key).get(3)); // 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>(); ul.createLinksFromSeq(seq0, linkset); assertTrue(linkset.isEmpty()); } + /** + * Test links where label and target are both included + */ + @Test(groups = { "Functional" }) + public void testLinksWithTargets() + { + UrlLink ul = new UrlLink( + "Protein Data Bank | http://www.identifiers.org/pdb/$" + + DB_ACCESSION + "$" + " | pdb"); + + assertEquals("Protein Data Bank", ul.getLabel()); + assertEquals("pdb", ul.getTarget()); + assertEquals("http://www.identifiers.org/pdb/$" + DB_ACCESSION + "$", + ul.getUrlWithToken()); + + assertEquals("Protein Data Bank|http://www.identifiers.org/pdb/$" + + DB_ACCESSION + "$" + "|pdb", ul.toStringWithTarget()); + + ul = new UrlLink("Protein Data Bank", + "http://www.identifiers.org/pdb/$" + DB_ACCESSION + "$", "pdb"); + + assertEquals("Protein Data Bank", ul.getLabel()); + assertEquals("pdb", ul.getTarget()); + assertEquals("http://www.identifiers.org/pdb/$" + DB_ACCESSION + "$", + ul.getUrlWithToken()); + + assertEquals("Protein Data Bank|http://www.identifiers.org/pdb/$" + + DB_ACCESSION + "$" + "|pdb", ul.toStringWithTarget()); + + } + }