package jalview.gui.structurechooser;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertTrue;
+
import java.util.Vector;
+import org.junit.Assert;
import org.testng.AssertJUnit;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceI;
import jalview.fts.core.FTSRestRequest;
+import jalview.fts.core.FTSRestResponse;
+import jalview.fts.service.pdb.PDBFTSRestClient;
import jalview.fts.threedbeacons.TDBeaconsFTSRestClientTest;
import jalview.gui.JvOptionPane;
+import jalview.jbgui.FilterOption;
public class StructureChooserQuerySourceTest
{
public void cascadingThreeDBandPDBQuerys()
{
TDBeaconsFTSRestClientTest.setMock();
-
- StructureChooserQuerySource scquery = StructureChooserQuerySource.getQuerySourceFor(new SequenceI[] { upSeq});
+ PDBFTSRestClient.setMock();
+ ThreeDBStructureChooserQuerySource tdbquery = new ThreeDBStructureChooserQuerySource();
+ PDBStructureChooserQuerySource pdbquery = new PDBStructureChooserQuerySource();
+
- // query TDB for doc
- // query PDBe for PDB entry metadata
- // Combine
- FTSRestRequest tdbQuery = new FTSRestRequest();
- tdbQuery.setResponseSize(100);
- tdbQuery.setFieldToSearchBy("");
- tdbQuery.setSearchTerm(scquery.buildQuery(upSeq));
- tdbQuery.setWantedFields(scquery.getDocFieldPrefs().getStructureSummaryFields());
- //scquery.fetchStructuresMetaData(upSeq, null, null, false);
- String secondaryPdbQuery;
- //secondaryPdbQuery = ((ThreeDBStructureChooserQuerySource)scquery).buildPDBFTSquery();
+ FTSRestResponse upResponse = null;
+ FTSRestResponse pdbResponse = null;
+
+ try {
+ upResponse = tdbquery.fetchStructuresMetaData(upSeq, tdbquery.getDocFieldPrefs().getStructureSummaryFields(), null, false);
+ // NB Could have race condition here
+ String pdb_Query = tdbquery.buildPDBFTSQueryFor(upResponse);
+ assertTrue(pdb_Query.trim().length()>0);
+ pdbResponse = tdbquery.fetchStructuresMetaDataFor(pdbquery, upResponse);
+ assertTrue(pdbResponse.getNumberOfItemsFound()>0);
+ FTSRestResponse joinedResp = tdbquery.joinResponses(upResponse, pdbResponse);
+ assertEquals(upResponse.getNumberOfItemsFound(),joinedResp.getNumberOfItemsFound());
+
+ } catch (Exception x)
+ {
+ x.printStackTrace();
+ Assert.fail("Unexpected Exception");
+ }
+ StructureChooserQuerySource scquery = StructureChooserQuerySource.getQuerySourceFor(new SequenceI[] { upSeq});
}