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