JAL-3438 spotless for 2.11.2.0
[jalview.git] / test / jalview / ws / utils / UrlDownloadClientTest.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package jalview.ws.utils;
22
23 import java.io.File;
24 import java.io.IOException;
25
26 import org.testng.Assert;
27 import org.testng.annotations.Test;
28
29 public class UrlDownloadClientTest
30 {
31
32   /**
33    * Test that url is successfully loaded into download file
34    */
35   @Test(groups = { "Network" }, enabled = true)
36   public void UrlDownloadTest()
37   {
38     UrlDownloadClient client = new UrlDownloadClient();
39     String urlstring = "http://identifiers.org/rest/collections/";
40     String outfile = "testfile.tmp";
41
42     try
43     {
44       client.download(urlstring, outfile);
45     } catch (IOException e)
46     {
47       Assert.fail("Exception was thrown from UrlDownloadClient download: "
48               + e.getMessage());
49       File f = new File(outfile);
50       if (f.exists())
51       {
52         f.delete();
53       }
54     }
55
56     // download file exists
57     File f = new File(outfile);
58     Assert.assertTrue(f.exists());
59
60     // download file has a believable size
61     // identifiers.org file typically at least 250K
62     Assert.assertTrue(f.length() > 250000);
63
64     if (f.exists())
65     {
66       f.delete();
67     }
68
69   }
70
71   /**
72    * Test that garbage in results in IOException
73    */
74   @Test(
75     groups =
76     { "Network" },
77     enabled = true,
78     expectedExceptions =
79     { IOException.class })
80   public void DownloadGarbageUrlTest() throws IOException
81   {
82     UrlDownloadClient client = new UrlDownloadClient();
83     String urlstring = "identifiers.org/rest/collections/";
84     String outfile = "testfile.tmp";
85
86     client.download(urlstring, outfile);
87   }
88 }