2bd8dd0ae5a45489682c1fde6b9384e48145378c
[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    * Test that url is successfully loaded into download file
33    */
34   @Test(groups = { "Network" }, enabled = true)
35   public void UrlDownloadTest()
36   {
37     UrlDownloadClient client = new UrlDownloadClient();
38     String urlstring = "http://identifiers.org/rest/collections/";
39     String outfile = "testfile.tmp";
40
41     try
42     {
43       client.download(urlstring, outfile);
44     } catch (IOException e)
45     {
46       Assert.fail("Exception was thrown from UrlDownloadClient download: "
47               + e.getMessage());
48       File f = new File(outfile);
49       if (f.exists())
50       {
51         f.delete();
52       }
53     }
54
55     // download file exists
56     File f = new File(outfile);
57     Assert.assertTrue(f.exists());
58
59     // download file has a believable size
60     // identifiers.org file typically at least 250K
61     Assert.assertTrue(f.length() > 250000);
62
63     if (f.exists())
64     {
65       f.delete();
66     }
67
68   }
69
70   /**
71    * Test that garbage in results in IOException
72    */
73   @Test(
74     groups = { "Network" },
75     enabled = true,
76     expectedExceptions = { IOException.class })
77   public void DownloadGarbageUrlTest() throws IOException
78   {
79     UrlDownloadClient client = new UrlDownloadClient();
80     String urlstring = "identifiers.org/rest/collections/";
81     String outfile = "testfile.tmp";
82
83     client.download(urlstring, outfile);
84   }
85 }