// non-numeric start column:
assertFalse(id.looksLikeFeatureData("Helix\tSeq1\t-1\t2456\t.\tss"));
}
+
+ @Test(groups = "Network", dataProvider = "urlTargetsAndExceptions")
+ public void testExceptions(String url,
+ Class<? extends Exception> expectedExceptionClass,
+ FileFormatI expectedFormat)
+ {
+ Class<? extends Exception> actualExceptionClass = null;
+ FileFormatI actualFormat = null;
+ try
+ {
+ actualFormat = new IdentifyFile().identify(url, DataSourceType.URL);
+ } catch (FileFormatException | FileNotFoundException e)
+ {
+ Assert.assertNull(expectedFormat,
+ "Exception occurred when expecting an identifiable format.");
+ Assert.assertNotNull(expectedExceptionClass,
+ "An unexpected exception occurred: '" + e.getMessage() + "'");
+ Assert.assertEquals(e.getClass(), expectedExceptionClass,
+ "Got the wrong kind of exception.");
+ actualExceptionClass = e.getClass();
+ }
+
+ if (expectedExceptionClass != null)
+ {
+ Assert.assertEquals(actualExceptionClass, expectedExceptionClass,
+ "Expected an exception but got the wrong one.");
+ }
+
+ }
+
+ @DataProvider(name = "urlTargetsAndExceptions")
+ public Object[][] urlTargetsAndExceptions()
+ {
+ /*
+ String targetUrl,
+ String finalUrl,
+ String foundInFirstLine,
+ */
+ return new Object[][] {
+ //
+ /*
+ { "http://jalview.org/examples/uniref50.fa", null,
+ FileFormat.Fasta },
+ { "https://www.jalview.org/examples/NOFILE.fa",
+ FileNotFoundException.class, null },
+ { "https://NOSERVER.jalview.org/", FileNotFoundException.class,
+ null },
+ */
+ { "https://www.jalview.org/schools/Jalview_Schools_Workbook_200.jpg",
+ FileFormatException.class, null },
+ /*
+ */
+ //
+ };
+ }
+
}
public Object[][] urlTargetsAndDestinations()
{
/*
- String targetUrl,
- String finalUrl,
- String foundInFirstLine,
+ String targetUrl, // the URL you ask for
+ String finalUrl, // the URL you end up at
+ String foundInFirstLine, // some text found in the first line
+ String foundInDocument, // some text found in the document (and won't be in an error page)
*/
return new Object[][] {
//
"Jalview is a" },
{ "http://www.jalview.org/", "https://www.jalview.org/",
"<!doctype", "Jalview is a" },
- { "https://jalview.org/", "https://www.jalview.org/", "<!doctype",
+ { "https://jalview.org", "https://www.jalview.org/", "<!doctype",
"Jalview is a" },
/*
*/