X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FStructureChooserTest.java;h=57aa23c3e4cbd9cc428bf440705332979adf86c4;hb=55d5f13809722084ebd354dc0a732abe9e991f9f;hp=309b5ad38e0a37d5f7a0be3b48cb4b1c25b889ce;hpb=bed0c230be450b16213e30ee1dcaf3e76ddfc669;p=jalview.git diff --git a/test/jalview/gui/StructureChooserTest.java b/test/jalview/gui/StructureChooserTest.java index 309b5ad..57aa23c 100644 --- a/test/jalview/gui/StructureChooserTest.java +++ b/test/jalview/gui/StructureChooserTest.java @@ -20,6 +20,7 @@ */ package jalview.gui; +import static org.testng.Assert.assertEquals; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertTrue; @@ -30,6 +31,11 @@ import jalview.datamodel.PDBEntry; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; import jalview.fts.api.FTSData; +import jalview.fts.api.FTSRestClientI; +import jalview.fts.core.FTSRestClient; +import jalview.fts.core.FTSRestRequest; +import jalview.fts.service.pdb.PDBFTSRestClient; +import jalview.fts.service.pdb.PDBFTSRestClientTest; import jalview.fts.service.threedbeacons.TDBeaconsFTSRestClient; import jalview.fts.threedbeacons.TDBeaconsFTSRestClientTest; import jalview.gui.structurechooser.PDBStructureChooserQuerySource; @@ -41,6 +47,9 @@ import jalview.ws.params.InvalidArgumentException; import java.util.Collection; import java.util.Vector; +import javax.swing.JComboBox; + +import org.junit.Assert; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; @@ -123,117 +132,29 @@ public class StructureChooserTest upSeq=null; } - @SuppressWarnings("deprecation") @Test(groups = { "Functional" }) - public void buildQueryTest() - { - System.out.println("seq >>>> " + seq); - - StructureChooserQuerySource scquery = StructureChooserQuerySource.getQuerySourceFor(new SequenceI[] { seq}); - assertTrue(scquery instanceof PDBStructureChooserQuerySource); - String query = scquery.buildQuery(seq); - assertEquals("pdb_id:1tim", query); - seq.getAllPDBEntries().clear(); - query = scquery.buildQuery(seq); - assertEquals( - "text:XYZ_1 OR text:XYZ_2 OR text:XYZ_3 OR text:XYZ_4 OR text:4kqy", - query); - seq.setDBRefs(null); - query = scquery.buildQuery(seq); - System.out.println(query); - assertEquals("text:4kqy", query); - - DBRefEntry uniprotDBRef = new DBRefEntry(); - uniprotDBRef.setAccessionId("P12345"); - uniprotDBRef.setSource(DBRefSource.UNIPROT); - seq.addDBRef(uniprotDBRef); - - DBRefEntry pdbDBRef = new DBRefEntry(); - pdbDBRef.setAccessionId("1XYZ"); - pdbDBRef.setSource(DBRefSource.PDB); - seq.addDBRef(pdbDBRef); - - for (int x = 1; x < 5; x++) - { - DBRefEntry dbRef = new DBRefEntry(); - dbRef.setAccessionId("XYZ_" + x); - seq.addDBRef(dbRef); - } - System.out.println(""); - System.out.println(seq.getDBRefs()); - System.out.println(query); - query = scquery.buildQuery(seq); - assertEquals( - "uniprot_accession:P12345 OR uniprot_id:P12345 OR pdb_id:1xyz", - query); - } - - @SuppressWarnings("deprecation") - @Test(groups = { "Functional" }) - public void buildThreeDBQueryTest() + public void populateFilterComboBoxTest() throws InterruptedException { - System.out.println("seq >>>> " + upSeq); TDBeaconsFTSRestClientTest.setMock(); - StructureChooserQuerySource scquery = StructureChooserQuerySource.getQuerySourceFor(new SequenceI[] { upSeq}); - assertTrue(scquery instanceof ThreeDBStructureChooserQuerySource); - String query = scquery.buildQuery(upSeq); - assertEquals("P38398", query); - - // query shouldn't change regardless of additional entries - // because 3DBeacons requires canonical entries. - upSeq.getAllPDBEntries().clear(); - query = scquery.buildQuery(upSeq); - assertEquals("P38398", query); - upSeq.setDBRefs(null); - query = scquery.buildQuery(upSeq); - /* - * legacy projects/datasets will not have canonical flags set for uniprot dbrefs - * graceful behaviour would be to - * - pick one ? not possible - * - iterate through all until a 200 is obtained ? - * ---> ideal but could be costly - * ---> better to do a direct retrieval from uniprot to work out which is the canonical identifier.. - * ----> need a test to check that accessions can be promoted to canonical! - */ - assertEquals(null, query); - - // TODO: -// -// DBRefEntry uniprotDBRef = new DBRefEntry(); -// uniprotDBRef.setAccessionId("P12345"); -// uniprotDBRef.setSource(DBRefSource.UNIPROT); -// upSeq.addDBRef(uniprotDBRef); -// -// DBRefEntry pdbDBRef = new DBRefEntry(); -// pdbDBRef.setAccessionId("1XYZ"); -// pdbDBRef.setSource(DBRefSource.PDB); -// upSeq.addDBRef(pdbDBRef); -// -// for (int x = 1; x < 5; x++) -// { -// DBRefEntry dbRef = new DBRefEntry(); -// dbRef.setAccessionId("XYZ_" + x); -// seq.addDBRef(dbRef); -// } -// System.out.println(""); -// System.out.println(seq.getDBRefs()); -// System.out.println(query); -// query = scquery.buildQuery(seq); -// assertEquals( -// "uniprot_accession:P12345 OR uniprot_id:P12345 OR pdb_id:1xyz", -// query); - } - + PDBFTSRestClientTest.setMock(); - @Test(groups = { "Functional" }) - public void populateFilterComboBoxTest() throws InterruptedException - { SequenceI[] selectedSeqs = new SequenceI[] { seq }; StructureChooser sc = new StructureChooser(selectedSeqs, seq, null); + + // if structures are not discovered then don't + // populate filter options sc.populateFilterComboBox(false, false); int optionsSize = sc.getCmbFilterOption().getItemCount(); - assertEquals(2, optionsSize); // if structures are not discovered then don't - // populate filter options + System.out.println("Items (no data, no cache): "); + StringBuilder items = new StringBuilder(); + for (int p=0;p 0); + } + @Test(groups = { "Functional" }) + public void fetchStructuresInfoMockedTest() + { + TDBeaconsFTSRestClientTest.setMock(); + PDBFTSRestClientTest.setMock(); + SequenceI[] selectedSeqs = new SequenceI[] { upSeq }; + StructureChooser sc = new StructureChooser(selectedSeqs, seq, null); + sc.fetchStructuresMetaData(); + Collection ss = (Collection) PA.getValue(sc, + "discoveredStructuresSet"); + assertNotNull(ss); + assertTrue(ss.size() > 0); } @Test(groups = { "Functional" })