JAL-2089 patch broken merge to master for Release 2.10.0b1
[jalview.git] / test / jalview / ws / jabaws / JalviewJabawsTestUtils.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.jabaws;
22
23 import jalview.ws.jws2.Jws2Discoverer;
24
25 import java.util.Vector;
26
27 import org.testng.Assert;
28 import org.testng.annotations.AfterClass;
29 import org.testng.annotations.BeforeClass;
30 import org.testng.annotations.Test;
31
32 public class JalviewJabawsTestUtils
33 {
34
35   @BeforeClass(alwaysRun = true)
36   public static void setUpBeforeClass() throws Exception
37   {
38   }
39
40   @AfterClass(alwaysRun = true)
41   public static void tearDownAfterClass() throws Exception
42   {
43   }
44
45   /**
46    * test servers
47    */
48   private static String[] serviceUrls = new String[] {
49       "http://localhost:8080/jabaws",
50       "http://www.compbio.dundee.ac.uk/jabaws" };
51
52   @Test(groups = { "Functional" }, enabled = false)
53   public void testAnnotExport()
54   {
55     Assert.fail("Not yet implemented");
56   }
57
58   public static jalview.ws.jws2.Jws2Discoverer getJabawsDiscoverer()
59   {
60     return getJabawsDiscoverer(true);
61   }
62
63   /**
64    * Returns a service discoverer that queries localhost and compbio urls.
65    * <p>
66    * If using this method, be sure to have read-only Jalview properties, to
67    * avoid writing the test urls to .jalview_properties. This can be done by
68    * either
69    * <ul>
70    * <li>running Jalview main with arguments -props propFileName</li>
71    * <li>calling Cache.loadProperties(filename)</li>
72    * <ul>
73    * 
74    * @param localhost
75    * @return
76    */
77   public static Jws2Discoverer getJabawsDiscoverer(boolean localhost)
78   {
79     jalview.ws.jws2.Jws2Discoverer disc = jalview.ws.jws2.Jws2Discoverer
80             .getDiscoverer();
81     String svcurls = "";
82     if (localhost)
83     {
84       int p = 0;
85       Vector<String> services = new Vector<String>();
86       for (String url : JalviewJabawsTestUtils.serviceUrls)
87       {
88         svcurls += url + "; ";
89         services.add(url);
90       }
91       ;
92       Jws2Discoverer.getDiscoverer().setServiceUrls(services);
93     }
94     try
95     {
96       disc.run();
97     } catch (Exception e)
98     {
99       e.printStackTrace();
100       Assert.fail("Aborting. Problem discovering services. Tried "
101               + svcurls);
102     }
103     Assert.assertTrue(disc.getServices().size() > 0,
104             "Failed to discover any services at ");
105     return disc;
106   }
107
108 }