Merge branch 'develop' into update_212_Dec_merge_with_21125_chamges
[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://www.jalview.org/services/identifiers";
40     // was "http://identifiers.org/rest/collections/";
41     String outfile = "testfile.tmp";
42
43     try
44     {
45       client.download(urlstring, outfile);
46     } catch (IOException e)
47     {
48       Assert.fail("Exception was thrown from UrlDownloadClient download: "
49               + e.getMessage());
50       File f = new File(outfile);
51       if (f.exists())
52       {
53         f.delete();
54       }
55     }
56
57     // download file exists
58     File f = new File(outfile);
59     Assert.assertTrue(f.exists());
60
61     // download file has a believable size
62     // identifiers.org file typically at least 250K
63     long n = f.length();
64     if (f.exists())
65     {
66       f.delete();
67     }
68     // 74589
69     Assert.assertTrue(n > 70000);
70
71
72   }
73
74   /**
75    * Test that garbage in results in IOException
76    */
77   @Test(
78     groups =
79     { "Network" },
80     enabled = true,
81     expectedExceptions =
82     { IOException.class })
83   public void DownloadGarbageUrlTest() throws IOException
84   {
85     UrlDownloadClient client = new UrlDownloadClient();
86     String urlstring = "identifiers.org/rest/collections/";
87     String outfile = "testfile.tmp";
88
89     client.download(urlstring, outfile);
90   }
91 }