package jalview.urls;
+import jalview.urls.api.UrlProviderI;
+import jalview.urls.desktop.DesktopUrlProviderFactory;
import jalview.util.UrlConstants;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
-import java.util.Vector;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
public class UrlProviderTest {
// Test identifiers.org download file
- private static final String testIdOrgString = "[{\"id\":\"MIR:00000002\",\"name\":\"ChEBI\",\"pattern\":\"^CHEBI:\\d+$\","
+ private static final String testIdOrgString = "{\"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+)?$\","
+ "{\"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 UrlProviderI prov;
UrlConstants.DEFAULT_STRING.length());
// chooses EMBL url when default Url id does not exist in provided url lists
- Assert.assertEquals(prov.getDefaultUrlId(), UrlConstants.DEFAULT_LABEL);
- Assert.assertEquals(prov.getDefaultUrl("FER_CAPAN"),
+ Assert.assertEquals(prov.getPrimaryUrlId(), UrlConstants.DEFAULT_LABEL);
+ Assert.assertEquals(prov.getPrimaryUrl("FER_CAPAN"),
emblUrl.replace("$SEQUENCE_ID$", "FER_CAPAN"));
- Vector<String> menulinks = prov.getLinksForMenu();
+ List<String> menulinks = prov.getLinksForMenu();
List<UrlLinkDisplay> allLinks = prov.getLinksForTable();
// 9 links in provider - 4 from id file, 4 custom links, 1 additional
Assert.assertTrue(menulinks
.contains("Test3|http://test3/$SEQUENCE_ID$"));
Assert.assertTrue(menulinks
- .contains("UniProt Knowledgebase|http://identifiers.org/uniprot/$DB_ACCESSION$"));
+ .contains("UniProt Knowledgebase|http://identifiers.org/uniprot/$DB_ACCESSION$|uniprot"));
Assert.assertTrue(menulinks
- .contains("InterPro|http://identifiers.org/interpro/$DB_ACCESSION$"));
+ .contains("InterPro|http://identifiers.org/interpro/$DB_ACCESSION$|interpro"));
Assert.assertTrue(menulinks.contains(UrlConstants.DEFAULT_LABEL
+ UrlConstants.SEP + emblUrl));
}
public void testSetDefaultUrl()
{
// set custom url as default
- Assert.assertTrue(prov.setDefaultUrl("Test1"));
- Assert.assertEquals(prov.getDefaultUrlId(), "Test1");
+ Assert.assertTrue(prov.setPrimaryUrl("Test1"));
+ Assert.assertEquals(prov.getPrimaryUrlId(), "Test1");
// set identifiers url as default
- Assert.assertTrue(prov.setDefaultUrl("MIR:00000011"));
- Assert.assertEquals(prov.getDefaultUrlId(), "MIR:00000011");
+ Assert.assertTrue(prov.setPrimaryUrl("MIR:00000011"));
+ Assert.assertEquals(prov.getPrimaryUrlId(), "MIR:00000011");
}
@Test(
public void testSetDefaultUrlWrongly()
{
// don't allow default to be a non-key
- prov.setDefaultUrl("not-a-key");
+ prov.setPrimaryUrl("not-a-key");
}
}