* along with Jalview. If not, see <http://www.gnu.org/licenses/>.
* The Jalview Authors are detailed in the 'AUTHORS' file.
*/
-package jalview.ws.dbsources;
+package jalview.fts.service.pdb;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertTrue;
-import jalview.ws.dbsources.PDBRestClient.PDBDocField;
-import jalview.ws.uimodel.PDBRestRequest;
-import jalview.ws.uimodel.PDBRestResponse;
+import jalview.fts.api.FTSDataColumnI;
+import jalview.fts.core.FTSRestRequest;
+import jalview.fts.core.FTSRestResponse;
import java.io.BufferedReader;
import java.io.FileReader;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
-public class PDBRestClientTest
+public class PDBFTSRestClientTest
{
@BeforeMethod(alwaysRun = true)
{
}
- @AfterMethod
+ @AfterMethod(alwaysRun = true)
public void tearDown() throws Exception
{
}
@Test(groups = { "External", "Network" })
public void executeRequestTest()
{
- List<PDBDocField> wantedFields = new ArrayList<PDBDocField>();
- wantedFields.add(PDBDocField.MOLECULE_TYPE);
- wantedFields.add(PDBDocField.PDB_ID);
- wantedFields.add(PDBDocField.GENUS);
- wantedFields.add(PDBDocField.GENE_NAME);
- wantedFields.add(PDBDocField.TITLE);
-
- PDBRestRequest request = new PDBRestRequest();
+ List<FTSDataColumnI> wantedFields = new ArrayList<FTSDataColumnI>();
+ try
+ {
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("molecule_type"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("pdb_id"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("genus"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("gene_name"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("title"));
+ } catch (Exception e1)
+ {
+ e1.printStackTrace();
+ }
+
+ FTSRestRequest request = new FTSRestRequest();
request.setAllowEmptySeq(false);
request.setResponseSize(100);
request.setFieldToSearchBy("text:");
request.setSearchTerm("abc");
request.setWantedFields(wantedFields);
- PDBRestResponse response;
+ FTSRestResponse response;
try
{
- response = new PDBRestClient().executeRequest(request);
+ response = PDBFTSRestClient.getInstance().executeRequest(request);
} catch (Exception e)
{
e.printStackTrace();
@Test(groups = { "Functional" })
public void getPDBDocFieldsAsCommaDelimitedStringTest()
{
- List<PDBDocField> wantedFields = new ArrayList<PDBDocField>();
- wantedFields.add(PDBDocField.MOLECULE_TYPE);
- wantedFields.add(PDBDocField.PDB_ID);
- wantedFields.add(PDBDocField.GENUS);
- wantedFields.add(PDBDocField.GENE_NAME);
- wantedFields.add(PDBDocField.TITLE);
+ List<FTSDataColumnI> wantedFields = new ArrayList<FTSDataColumnI>();
+ try
+ {
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("molecule_type"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("pdb_id"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("genus"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("gene_name"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("title"));
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
String expectedResult = "molecule_type,pdb_id,genus,gene_name,title";
- String actualResult = PDBRestClient
- .getPDBDocFieldsAsCommaDelimitedString(wantedFields);
+ String actualResult = PDBFTSRestClient.getInstance()
+ .getDataColumnsFieldsAsCommaDelimitedString(wantedFields);
assertEquals("", expectedResult, actualResult);
}
@Test(groups = { "External, Network" })
public void parsePDBJsonExceptionStringTest()
{
- List<PDBDocField> wantedFields = new ArrayList<PDBDocField>();
- wantedFields.add(PDBDocField.MOLECULE_TYPE);
- wantedFields.add(PDBDocField.PDB_ID);
- wantedFields.add(PDBDocField.GENUS);
- wantedFields.add(PDBDocField.GENE_NAME);
- wantedFields.add(PDBDocField.TITLE);
-
- PDBRestRequest request = new PDBRestRequest();
+ List<FTSDataColumnI> wantedFields = new ArrayList<FTSDataColumnI>();
+ try
+ {
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("molecule_type"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("pdb_id"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("genus"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("gene_name"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("title"));
+ } catch (Exception e1)
+ {
+ e1.printStackTrace();
+ }
+
+ FTSRestRequest request = new FTSRestRequest();
request.setAllowEmptySeq(false);
request.setResponseSize(100);
request.setFieldToSearchBy("text:");
e.printStackTrace();
}
- String parsedErrorResponse = PDBRestClient
+ String parsedErrorResponse = PDBFTSRestClient
.parseJsonExceptionString(jsonErrorResponse);
String expectedErrorMsg = "\n============= PDB Rest Client RunTime error =============\n"
assertEquals(expectedErrorMsg, parsedErrorResponse);
}
- @Test(
- groups = { "External", "Network" },
- expectedExceptions = Exception.class)
+ @Test(groups = { "External" }, expectedExceptions = Exception.class)
public void testForExpectedRuntimeException() throws Exception
{
- List<PDBDocField> wantedFields = new ArrayList<PDBDocField>();
- wantedFields.add(PDBDocField.PDB_ID);
+ List<FTSDataColumnI> wantedFields = new ArrayList<FTSDataColumnI>();
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("pdb_id"));
- PDBRestRequest request = new PDBRestRequest();
+ FTSRestRequest request = new FTSRestRequest();
request.setFieldToSearchBy("text:");
request.setSearchTerm("abc OR text:go:abc");
request.setWantedFields(wantedFields);
- new PDBRestClient().executeRequest(request);
+ PDBFTSRestClient.getInstance().executeRequest(request);
}
+ // JBP: Is this actually external ? Looks like it is mocked
@Test(groups = { "External" })
public void parsePDBJsonResponseTest()
{
- List<PDBDocField> wantedFields = new ArrayList<PDBDocField>();
- wantedFields.add(PDBDocField.MOLECULE_TYPE);
- wantedFields.add(PDBDocField.PDB_ID);
- wantedFields.add(PDBDocField.GENUS);
- wantedFields.add(PDBDocField.GENE_NAME);
- wantedFields.add(PDBDocField.TITLE);
-
- PDBRestRequest request = new PDBRestRequest();
+ List<FTSDataColumnI> wantedFields = new ArrayList<FTSDataColumnI>();
+ try
+ {
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("molecule_type"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("pdb_id"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("genus"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("gene_name"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("title"));
+ } catch (Exception e1)
+ {
+ e1.printStackTrace();
+ }
+
+ FTSRestRequest request = new FTSRestRequest();
request.setAllowEmptySeq(false);
request.setWantedFields(wantedFields);
{
e.printStackTrace();
}
- PDBRestResponse response = PDBRestClient.parsePDBJsonResponse(
+ FTSRestResponse response = PDBFTSRestClient.parsePDBJsonResponse(
jsonString, request);
assertTrue(response.getSearchSummary() != null);
assertTrue(response.getNumberOfItemsFound() == 931);
@Test(groups = { "Functional" })
public void getPDBIdColumIndexTest()
{
- List<PDBDocField> wantedFields = new ArrayList<PDBDocField>();
- wantedFields.add(PDBDocField.MOLECULE_TYPE);
- wantedFields.add(PDBDocField.GENUS);
- wantedFields.add(PDBDocField.GENE_NAME);
- wantedFields.add(PDBDocField.TITLE);
- wantedFields.add(PDBDocField.PDB_ID);
- assertEquals(5, PDBRestClient.getPDBIdColumIndex(wantedFields, true));
- assertEquals(4, PDBRestClient.getPDBIdColumIndex(wantedFields, false));
+ List<FTSDataColumnI> wantedFields = new ArrayList<FTSDataColumnI>();
+ try
+ {
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("molecule_type"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("genus"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("gene_name"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("title"));
+ wantedFields.add(PDBFTSRestClient.getInstance()
+ .getDataColumnByNameOrCode("pdb_id"));
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ try
+ {
+ assertEquals(5, PDBFTSRestClient.getInstance()
+ .getPrimaryKeyColumIndex(wantedFields, true));
+ assertEquals(4, PDBFTSRestClient.getInstance()
+ .getPrimaryKeyColumIndex(wantedFields, false));
+ } catch (Exception e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
}
@Test(groups = { "External" })
// Build request parameters for the REST Request
WebResource webResource = client
- .resource(PDBRestClient.PDB_SEARCH_ENDPOINT)
+ .resource(PDBFTSRestClient.PDB_SEARCH_ENDPOINT)
.queryParam("wt", "json").queryParam("rows", String.valueOf(1))
.queryParam("q", "text:abc AND molecule_sequence:['' TO *]");
JSONObject pdbJsonDoc = docIter.next();
- for (PDBDocField field : PDBDocField.values())
+ for (FTSDataColumnI field : PDBFTSRestClient.getInstance()
+ .getAllFTSDataColumns())
{
- if (field == PDBDocField.ALL)
+ if (field.getName().equalsIgnoreCase("ALL"))
{
continue;
}