X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Furls%2FIdentifiersUrlProviderTest.java;h=1fb31468945ee78ccef213c9d54205db241fca7f;hb=cc36e0cc33145e21186643a28b975be1a01d2d55;hp=843e2d5c1c46ee1bfbf689162498a76de107dd26;hpb=7b733c615ca6ef20fd2e330c89aa566de0d4836f;p=jalview.git diff --git a/test/jalview/urls/IdentifiersUrlProviderTest.java b/test/jalview/urls/IdentifiersUrlProviderTest.java index 843e2d5..1fb3146 100644 --- a/test/jalview/urls/IdentifiersUrlProviderTest.java +++ b/test/jalview/urls/IdentifiersUrlProviderTest.java @@ -25,6 +25,8 @@ import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertFalse; import static org.testng.AssertJUnit.assertTrue; +import jalview.urls.api.UrlProviderI; + import java.io.File; import java.io.FileWriter; import java.util.Arrays; @@ -36,8 +38,7 @@ import org.testng.annotations.Test; public class IdentifiersUrlProviderTest { - // Test identifiers.org download file - private static final String testIdOrgFile = "[{\"id\":\"MIR:00000002\",\"name\":\"ChEBI\",\"pattern\":\"^CHEBI:\\d+$\"," + private static final String testIdOrgFile = "{\"Local\": [{\"id\":\"MIR:00000002\",\"name\":\"ChEBI\",\"pattern\":\"^CHEBI:\\d+$\"," + "\"definition\":\"Chemical Entities of Biological Interest (ChEBI)\",\"prefix\":\"chebi\"," + "\"url\":\"http://identifiers.org/chebi\"},{\"id\":\"MIR:00000005\",\"name\":\"UniProt Knowledgebase\"," + "\"pattern\":\"^([A-N,R-Z][0-9]([A-Z][A-Z, 0-9][A-Z, 0-9][0-9]){1,2})|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])(\\.\\d+)?$\"," @@ -45,12 +46,12 @@ public class IdentifiersUrlProviderTest + "{\"id\":\"MIR:00000011\",\"name\":\"InterPro\",\"pattern\":\"^IPR\\d{6}$\",\"definition\":\"InterPro\",\"prefix\":\"interpro\"," + "\"url\":\"http://identifiers.org/interpro\"}," + "{\"id\":\"MIR:00000372\",\"name\":\"ENA\",\"pattern\":\"^[A-Z]+[0-9]+(\\.\\d+)?$\",\"definition\":\"The European Nucleotide Archive (ENA),\"" - + "\"prefix\":\"ena.embl\",\"url\":\"http://identifiers.org/ena.embl\"}]"; - + + "\"prefix\":\"ena.embl\",\"url\":\"http://identifiers.org/ena.embl\"}]}"; + private static final String[] dlinks = { - "MIR:00000005|http://identifiers.org/uniprot/$DB_ACCESSION$", - "MIR:00000011|http://identifiers.org/interpro/$DB_ACCESSION$", - "MIR:00000372|http://identifiers.org/ena.embl/$DB_ACCESSION$"}; + "UniProt Knowledgebase|http://identifiers.org/uniprot/$DB_ACCESSION$|uniprot", + "InterPro|http://identifiers.org/interpro/$DB_ACCESSION$|interpro", + "ENA|http://identifiers.org/ena.embl/$DB_ACCESSION$|ena.embl" }; private static final String[] dlinks1 = { "MIR:00000011|http://identifiers.org/interpro/$DB_ACCESSION$", @@ -64,9 +65,15 @@ public class IdentifiersUrlProviderTest + "MIR:00000011|http://identifiers.org/interpro/$DB_ACCESSION$" + "MIR:00000372|http://identifiers.org/ena.embl/$DB_ACCESSION$"; + private static final String[] unselDlinks = { + "ChEBI|http://identifiers.org/chebi/$DB_ACCESSION$" }; + private static final Vector displayLinks = new Vector( - Arrays.asList(dlinks)); - + Arrays.asList(dlinks)); + + private static final Vector unselDisplayLinks = new Vector( + Arrays.asList(unselDlinks)); + private static final Vector displayLinks1 = new Vector( Arrays.asList(dlinks1)); @@ -84,7 +91,6 @@ public class IdentifiersUrlProviderTest private String testfile = ""; - @BeforeClass(alwaysRun = true) public void setup() { @@ -105,6 +111,8 @@ public class IdentifiersUrlProviderTest { System.err.println(ex); } + + IdOrgSettings.setDownloadLocation(testfile); } /* @@ -115,15 +123,19 @@ public class IdentifiersUrlProviderTest { // creation from cached id list String idList = "MIR:00000005|MIR:00000011|MIR:00000372"; - UrlProviderI idProv = new IdentifiersUrlProvider(idList, testfile); - - assertTrue(displayLinks.containsAll(idProv.getLinksForDisplay())); + UrlProviderI idProv = new IdentifiersUrlProvider(idList); + + assertTrue(displayLinks.containsAll(idProv.getLinksForMenu())); // because UrlProvider does not guarantee order of links, we can't just // compare the output of writeUrlsAsString to a string, hence the hoops here - String result = idProv.writeUrlsAsString(); - UrlProviderI up = new IdentifiersUrlProvider(result, testfile); - assertTrue(displayLinks.containsAll(up.getLinksForDisplay())); + String result = idProv.writeUrlsAsString(true); + UrlProviderI up = new IdentifiersUrlProvider(result); + assertTrue(displayLinks.containsAll(up.getLinksForMenu())); + + result = idProv.writeUrlsAsString(false); + up = new IdentifiersUrlProvider(result); + assertTrue(unselDisplayLinks.containsAll(up.getLinksForMenu())); } @@ -135,54 +147,25 @@ public class IdentifiersUrlProviderTest { // creation from cached id list String idList = "MIR:00000005|MIR:00000011|MIR:00000372"; - UrlProviderI idProv = new IdentifiersUrlProvider(idList, testfile); - + UrlProviderI idProv = new IdentifiersUrlProvider(idList); + // initially no default - assertEquals(null, idProv.getDefaultUrl()); - + assertEquals(null, idProv.getPrimaryUrl("seqid")); + // set and then retrieve default - assertTrue(idProv.setDefaultUrl("MIR:00000005")); - assertEquals("MIR:00000005", idProv.getDefaultUrl()); - assertEquals("http://identifiers.org/uniprot/id", - idProv.getDefaultUrl("id")); + assertTrue(idProv.setPrimaryUrl("MIR:00000005")); + assertEquals("http://identifiers.org/uniprot/seqid", + idProv.getPrimaryUrl("seqid")); + + // ids less than length 4 return null + assertEquals(null, idProv.getPrimaryUrl("123")); // attempt to set bad default - assertFalse(idProv.setDefaultUrl("MIR:00001234")); + assertFalse(idProv.setPrimaryUrl("MIR:00001234")); // default set to null (as default should have been set elsewhere) - assertEquals(null, idProv.getDefaultUrl()); + assertEquals(null, idProv.getPrimaryUrl("seqid")); // chooseDefaultUrl not implemented for IdentifiersUrlProvider - assertEquals(null, idProv.chooseDefaultUrl()); - } - - /* - * Test url setting works - */ - @Test(groups = { "Functional" }) - public void testSetUrlLinks() - { - // creation from cached id list - String idList = "MIR:00000005|MIR:00000011|MIR:00000372"; - UrlProviderI idProv = new IdentifiersUrlProvider(idList, testfile); - - // set url links - String[] ids = { "MIR:00000372", "MIR:00000011" }; - Vector names = new Vector(Arrays.asList(ids)); - Vector urls = null; - idProv.setUrlLinks(names, urls); - Vector result = idProv.getLinksForDisplay(); - assertEquals(displayLinks1.size(), result.size()); - assertTrue(displayLinks1.containsAll(result)); - - //set default url then reset url links, default should be unset if not present - String[] moreids = { "MIR:00000005", "MIR:00000011" }; - names = new Vector(Arrays.asList(moreids)); - idProv.setDefaultUrl("MIR:00000372"); - idProv.setUrlLinks(names, urls); - result = idProv.getLinksForDisplay(); - assertEquals(displayLinks2.size(), result.size()); - assertTrue(displayLinks2.containsAll(result)); - assertEquals(null, idProv.getDefaultUrl()); - + assertEquals(null, idProv.choosePrimaryUrl()); } }