1 package jalview.fts.core;
3 import jalview.fts.api.FTSDataColumnI;
4 import jalview.fts.api.FTSDataColumnI.FTSDataColumnGroupI;
6 import java.util.Collection;
7 import java.util.HashSet;
10 import org.testng.Assert;
11 import org.testng.annotations.BeforeMethod;
12 import org.testng.annotations.Test;
14 public class FTSRestClientTest
16 private FTSRestClient ftsRestClient;
18 @BeforeMethod(alwaysRun = true)
21 ftsRestClient = new FTSRestClient()
25 public String getColumnDataConfigFileName()
27 return "/fts/uniprot_data_columns.txt";
31 public FTSRestResponse executeRequest(FTSRestRequest ftsRequest)
39 @Test(groups = { "Functional" })
40 public void getPrimaryKeyColumIndexTest()
42 Collection<FTSDataColumnI> wantedFields = ftsRestClient
43 .getAllDefaulDisplayedDataColumns();
47 Assert.assertEquals(foundIndex, -1);
48 foundIndex = ftsRestClient.getPrimaryKeyColumIndex(wantedFields,
50 Assert.assertEquals(foundIndex, 0);
51 foundIndex = ftsRestClient
52 .getPrimaryKeyColumIndex(wantedFields, true);
53 Assert.assertEquals(foundIndex, 1);
57 Assert.fail("Exception thrown while testing...");
61 @Test(groups = { "Functional" })
62 public void getAllDefaulDisplayedDataColumns()
64 Assert.assertNotNull(ftsRestClient.getAllDefaulDisplayedDataColumns());
65 Assert.assertTrue(!ftsRestClient.getAllDefaulDisplayedDataColumns()
67 Assert.assertEquals(ftsRestClient.getAllDefaulDisplayedDataColumns()
71 @Test(groups = { "Functional" })
72 public void getDataColumnsFieldsAsCommaDelimitedString()
74 Collection<FTSDataColumnI> wantedFields = ftsRestClient
75 .getAllDefaulDisplayedDataColumns();
76 String actual = ftsRestClient
77 .getDataColumnsFieldsAsCommaDelimitedString(wantedFields);
78 Assert.assertEquals(actual,
79 "id,entry name,protein names,genes,organism,reviewed,length");
83 @Test(groups = { "Functional" })
84 public void getAllFTSDataColumns()
86 Collection<FTSDataColumnI> allFields = ftsRestClient
87 .getAllFTSDataColumns();
88 Assert.assertNotNull(allFields);
89 Assert.assertEquals(allFields.size(), 117);
92 @Test(groups = { "Functional" })
93 public void getSearchableDataColumns()
95 Collection<FTSDataColumnI> searchalbeFields = ftsRestClient
96 .getSearchableDataColumns();
97 Assert.assertNotNull(searchalbeFields);
98 Assert.assertEquals(searchalbeFields.size(), 30);
101 @Test(groups = { "Functional" })
102 public void getPrimaryKeyColumn()
104 FTSDataColumnI expectedPKColumn;
107 expectedPKColumn = ftsRestClient
108 .getDataColumnByNameOrCode("Uniprot Id");
109 Assert.assertNotNull(ftsRestClient.getPrimaryKeyColumn());
110 Assert.assertEquals(ftsRestClient.getPrimaryKeyColumn(),
112 } catch (Exception e)
115 Assert.fail("Exception thrown while testing...");
119 @Test(groups = { "Functional" })
120 public void getDataColumnByNameOrCode()
124 FTSDataColumnI foundDataCol = ftsRestClient
125 .getDataColumnByNameOrCode("genes");
126 Assert.assertNotNull(foundDataCol);
127 Assert.assertEquals(foundDataCol.getName(), "Gene Names");
128 } catch (Exception e)
131 Assert.fail("Exception thrown while testing...");
135 @Test(groups = { "Functional" })
136 public void getDataColumnGroupById()
138 FTSDataColumnGroupI foundDataColGroup;
141 foundDataColGroup = ftsRestClient.getDataColumnGroupById("g3");
142 Assert.assertNotNull(foundDataColGroup);
143 Assert.assertEquals(foundDataColGroup.getName(), "Names & Taxonomy");
144 } catch (Exception e)
150 @Test(groups = { "Functional" })
151 public void getDefaultResponsePageSize()
153 int defaultResSize = ftsRestClient.getDefaultResponsePageSize();
154 Assert.assertEquals(defaultResSize, 500);
157 @Test(groups = { "Functional" })
158 public void getColumnMinWidthTest()
162 FTSDataColumnI foundDataCol = ftsRestClient
163 .getDataColumnByNameOrCode("Protein names");
164 Assert.assertNotNull(foundDataCol);
165 int actualColMinWidth = foundDataCol.getMinWidth();
166 Assert.assertEquals(actualColMinWidth, 300);
167 } catch (Exception e)
170 Assert.fail("Exception thrown while testing...");
174 @Test(groups = { "Functional" })
175 public void getColumnMaxWidthTest()
179 FTSDataColumnI foundDataCol = ftsRestClient
180 .getDataColumnByNameOrCode("Protein names");
181 Assert.assertNotNull(foundDataCol);
182 int actualColMinWidth = foundDataCol.getMaxWidth();
183 Assert.assertEquals(actualColMinWidth, 1500);
184 } catch (Exception e)
187 Assert.fail("Exception thrown while testing...");
191 @Test(groups = { "Functional" })
192 public void getColumnPreferredWidthTest()
196 FTSDataColumnI foundDataCol = ftsRestClient
197 .getDataColumnByNameOrCode("Protein names");
198 Assert.assertNotNull(foundDataCol);
199 int actualColMinWidth = foundDataCol.getPreferredWidth();
200 Assert.assertEquals(actualColMinWidth, 500);
201 } catch (Exception e)
204 Assert.fail("Exception thrown while testing...");
208 @Test(groups = { "Functional" })
209 public void getColumnClassTest()
213 FTSDataColumnI foundDataCol = ftsRestClient
214 .getDataColumnByNameOrCode("Protein names");
215 Assert.assertNotNull(foundDataCol);
216 Assert.assertEquals(foundDataCol.getDataType().getDataTypeClass(),
218 foundDataCol = ftsRestClient.getDataColumnByNameOrCode("length");
219 Assert.assertNotNull(foundDataCol);
220 Assert.assertEquals(foundDataCol.getDataType().getDataTypeClass(),
222 // foundDataCol = ftsRestClient.getDataColumnByNameOrCode("length");
223 // Assert.assertNotNull(foundDataCol);
224 // Assert.assertEquals(foundDataCol.getDataColumnClass(), Double.class);
225 } catch (Exception e)
228 Assert.fail("Exception thrown while testing...");
232 @Test(groups = { "Functional" })
233 public void coverageForEqualsAndHashFunction()
235 Set<FTSDataColumnI> uniqueSet = new HashSet<FTSDataColumnI>();
236 Collection<FTSDataColumnI> searchableCols = ftsRestClient
237 .getSearchableDataColumns();
238 for (FTSDataColumnI foundCol : searchableCols)
240 uniqueSet.add(foundCol);
241 uniqueSet.add(foundCol);
243 Assert.assertTrue(!uniqueSet.isEmpty());
244 Assert.assertEquals(uniqueSet.size(), 30);
247 @Test(groups = { "Functional" })
248 public void coverageForMiscellaneousBranches()
250 String actual = ftsRestClient.getPrimaryKeyColumn().toString();
251 Assert.assertEquals(actual, "Uniprot Id");
253 String actualGroupStr;
256 actualGroupStr = ftsRestClient.getDataColumnGroupById("g4")
258 Assert.assertEquals(actualGroupStr, "Procedures & Softwares");
259 actualGroupStr = ftsRestClient.getDataColumnGroupById(
260 "unavailable group").toString();
261 } catch (Exception e)
263 Assert.assertTrue(true);
266 String actualResourseFile = ftsRestClient
267 .getResourceFile("/fts/uniprot_data_columns.txt");
268 Assert.assertNotNull(actualResourseFile);
269 Assert.assertTrue(actualResourseFile.length() > 31);
272 @Test(groups = { "Functional" }, expectedExceptions = Exception.class)
273 public void coverageForExceptionBranches() throws Exception
277 ftsRestClient.getDataColumnByNameOrCode("unavailable column");
278 } catch (Exception e)
280 System.out.println(e.getMessage());
281 String expectedMessage = "Couldn't find data column with name : unavailable column";
282 Assert.assertEquals(e.getMessage(), expectedMessage);
286 ftsRestClient.getDataColumnGroupById("unavailable column group Id");
287 } catch (Exception e)
289 System.out.println(e.getMessage());
290 String expectedMessage = "Couldn't find data column group with id : unavailable column group Id";
291 Assert.assertEquals(e.getMessage(), expectedMessage);
294 ftsRestClient.getDataColumnByNameOrCode("unavailable column");
296 ftsRestClient.getResourceFile("unavailable resource file");