1 /* 2 * Jalview - A Sequence Alignment Editor and Viewer (2.11.1.4) 3 * Copyright (C) 2021 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) setUpJvOptionPane()37 public void setUpJvOptionPane() 38 { 39 JvOptionPane.setInteractiveMode(false); 40 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); 41 } 42 43 @BeforeClass(alwaysRun = true) setUpBeforeClass()44 public static void setUpBeforeClass() throws Exception 45 { 46 } 47 48 @AfterClass(alwaysRun = true) tearDownAfterClass()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) testAnnotExport()61 public void testAnnotExport() 62 { 63 Assert.fail("Not yet implemented"); 64 } 65 getJabawsDiscoverer()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 */ getJabawsDiscoverer(boolean localhost)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 } 117