JAL-3829 updated tests for 3db fetcher’s working FTS metadata
[jalview.git] / test / jalview / fts / threedbeacons / TDBeaconsFTSRestClientTest.java
index fad7750..9a27cf3 100644 (file)
@@ -1,5 +1,6 @@
 package jalview.fts.threedbeacons;
 
+import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertTrue;
 
 import java.util.ArrayList;
@@ -19,6 +20,7 @@ import jalview.fts.api.FTSDataColumnI.FTSDataColumnGroupI;
 import jalview.fts.core.FTSRestClient;
 import jalview.fts.core.FTSRestRequest;
 import jalview.fts.core.FTSRestResponse;
+import jalview.fts.service.pdb.PDBFTSRestClient;
 import jalview.fts.service.threedbeacons.TDBeaconsFTSRestClient;
 import jalview.gui.JvOptionPane;
 
@@ -61,15 +63,15 @@ public class TDBeaconsFTSRestClientTest
   
   @Test
   public void getAllDefaulDisplayedDataColumns()
-  {
+  {     
+    // to change when resources.tdbeacons_data_columns.txt is changed
     Assert.assertNotNull(ftsRestClient
             .getAllDefaultDisplayedFTSDataColumns());
     System.out.println(ftsRestClient.getAllDefaultDisplayedFTSDataColumns());
     Assert.assertTrue(!ftsRestClient.getAllDefaultDisplayedFTSDataColumns()
             .isEmpty());
     Assert.assertEquals(ftsRestClient
-            .getAllDefaultDisplayedFTSDataColumns().size(), 3);
-    // currently 3, may change -> change this test and the nexts accordingly
+            .getAllDefaultDisplayedFTSDataColumns().size(), 11);
   }
   
   @Test(groups = { "Functional" })
@@ -83,10 +85,10 @@ public class TDBeaconsFTSRestClientTest
       Assert.assertEquals(foundIndex, -1);
       foundIndex = ftsRestClient.getPrimaryKeyColumIndex(wantedFields,
               false);
-      Assert.assertEquals(foundIndex, 0);
+      Assert.assertEquals(foundIndex, 10);
       foundIndex = ftsRestClient
               .getPrimaryKeyColumIndex(wantedFields, true);
-      Assert.assertEquals(foundIndex, 1);
+      Assert.assertEquals(foundIndex, 11);
     } catch (Exception e)
     {
       e.printStackTrace();
@@ -97,12 +99,13 @@ public class TDBeaconsFTSRestClientTest
   @Test(groups = { "Functional" })
   public void getDataColumnsFieldsAsCommaDelimitedString()
   {
+    // to change when resources.tdbeacons_data_columns.txt is changed
     Collection<FTSDataColumnI> wantedFields = ftsRestClient
             .getAllDefaultDisplayedFTSDataColumns();
     String actual = ftsRestClient
             .getDataColumnsFieldsAsCommaDelimitedString(wantedFields);
     Assert.assertEquals(actual,
-            "id,uniprot_accession,entry name");
+            "model_identifier,provider,model_category,uniprot_start,uniprot_end,resolution,qmean_avg_local_score,coverage,created,entry_name,model_url");
   }
   
   @Test(groups = { "Functional" })
@@ -112,27 +115,29 @@ public class TDBeaconsFTSRestClientTest
             .getAllFTSDataColumns();
     Assert.assertNotNull(allFields);
     //System.out.println(allFields.size());
-    Assert.assertEquals(allFields.size(), 3);
+    Assert.assertEquals(allFields.size(), 15);
   }
   
   @Test(groups = { "Functional" })
   public void getSearchableDataColumns()
-  {
+  {     
+    // to change when resources.tdbeacons_data_columns.txt is changed
     Collection<FTSDataColumnI> searchableFields = ftsRestClient
             .getSearchableDataColumns();
     Assert.assertNotNull(searchableFields);
     //System.out.println(searchableFields.size());
-    Assert.assertEquals(searchableFields.size(), 1); //only 1, as of first 3DB test
+    Assert.assertEquals(searchableFields.size(), 1); //only 1: uniprot accession
   }
   
   @Test(groups = { "Functional" })
   public void getPrimaryKeyColumn()
-  {
+  { 
+    // to change when resources.tdbeacons_data_columns.txt is changed
     FTSDataColumnI expectedPKColumn;
     try
     {
       expectedPKColumn = ftsRestClient
-              .getDataColumnByNameOrCode("Uniprot Id");
+              .getDataColumnByNameOrCode("Url");
       Assert.assertNotNull(ftsRestClient.getPrimaryKeyColumn());
       Assert.assertEquals(ftsRestClient.getPrimaryKeyColumn(),
               expectedPKColumn);
@@ -167,7 +172,7 @@ public class TDBeaconsFTSRestClientTest
     {
       foundDataColGroup = ftsRestClient.getDataColumnGroupById("g2");
       Assert.assertNotNull(foundDataColGroup);
-      Assert.assertEquals(foundDataColGroup.getName(), "Name");
+      Assert.assertEquals(foundDataColGroup.getName(), "Quality");
     } catch (Exception e)
     {
       e.printStackTrace();
@@ -237,8 +242,35 @@ public class TDBeaconsFTSRestClientTest
     //Assert.assertEquals(uniqueSet.size(), 22); -> 1 or 2 currently for 3DB
   }
   
+  @Test(groups = { "Functional" })
+  public void getTDBIdColumIndexTest()
+  {
+    List<FTSDataColumnI> wantedFields = new ArrayList<FTSDataColumnI>();
+    try
+    {
+      wantedFields.add(TDBeaconsFTSRestClient.getInstance()
+              .getDataColumnByNameOrCode("Model id"));
+      wantedFields.add(TDBeaconsFTSRestClient.getInstance()
+              .getDataColumnByNameOrCode("uniprot_accession"));
+      wantedFields.add(TDBeaconsFTSRestClient.getInstance()
+              .getDataColumnByNameOrCode("entry name"));
+    } catch (Exception e)
+    {
+      e.printStackTrace();
+    }
+    try
+    {
+      assertEquals(4, TDBeaconsFTSRestClient.getInstance()
+              .getPrimaryKeyColumIndex(wantedFields, true));
+//      assertEquals(3, TDBeaconsFTSRestClient.getInstance()
+//              .getPrimaryKeyColumIndex(wantedFields, true));
+    } catch (Exception e)
+    {
+      e.printStackTrace();
+    }
+  }
   
-  
+
   @Test(groups = { "External", "Network" })  
   public void executeRequestTest()
   {
@@ -246,11 +278,19 @@ public class TDBeaconsFTSRestClientTest
     try
     {
       wantedFields.add(TDBeaconsFTSRestClient.getInstance()
-              .getDataColumnByNameOrCode("model_category"));
+              .getDataColumnByNameOrCode("Model Id"));
+      wantedFields.add(TDBeaconsFTSRestClient.getInstance()
+              .getDataColumnByNameOrCode("model_url"));
       wantedFields.add(TDBeaconsFTSRestClient.getInstance()
               .getDataColumnByNameOrCode("provider"));
       wantedFields.add(TDBeaconsFTSRestClient.getInstance()
-              .getDataColumnByNameOrCode("created"));
+              .getDataColumnByNameOrCode("model_category"));
+      wantedFields.add(TDBeaconsFTSRestClient.getInstance()
+              .getDataColumnByNameOrCode("qmean_avg_local_score"));
+      wantedFields.add(TDBeaconsFTSRestClient.getInstance()
+              .getDataColumnByNameOrCode("uniprot_start"));
+      wantedFields.add(TDBeaconsFTSRestClient.getInstance()
+              .getDataColumnByNameOrCode("uniprot_end"));
     } catch (Exception e1)
     {
       e1.printStackTrace();
@@ -258,12 +298,12 @@ public class TDBeaconsFTSRestClientTest
     System.out.println("wantedFields >>" + wantedFields);
 
     FTSRestRequest request = new FTSRestRequest();
-    //request.setAllowEmptySeq(false);
-    //request.setResponseSize(100);
-    request.setSearchTerm("01308.json");
+    request.setResponseSize(100);
+    request.setFieldToSearchBy("");
+    request.setSearchTerm("P01318.json");
     request.setWantedFields(wantedFields);
     System.out.println("request : " + request.getFieldToSearchBy());
-    System.out.println(request.toString());
+    //System.out.println(request.toString());
 
     FTSRestResponse response;
     try
@@ -275,8 +315,9 @@ public class TDBeaconsFTSRestClientTest
       Assert.fail("Couldn't execute webservice call!");
       return;
     }
-    //assertTrue(response.getNumberOfItemsFound() > 99);
     assertTrue(response.getSearchSummary() != null);
-    assertTrue(response.getSearchSummary().size() > 99);
+    assertTrue(response.getNumberOfItemsFound() > 3); //4 atm
+    System.out.println("Search summary : \n" + response.getSearchSummary());
+    //System.out.println(response.getSearchSummary().size());
   }
 }