X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2Fgui%2FJws2ParamView.java;h=5ff4aeddb58b03995905983a1827c2aa275f6d91;hb=3412b273e964fb1a9d22564b04a5f0c827ec2461;hp=dedc27c53df27293a5607f467d8ce60f8713ca7c;hpb=6de962a5d3ef9e5be5b649435b9cb4a3e2eddb1b;p=jalview.git diff --git a/test/jalview/ws/gui/Jws2ParamView.java b/test/jalview/ws/gui/Jws2ParamView.java index dedc27c..5ff4aed 100644 --- a/test/jalview/ws/gui/Jws2ParamView.java +++ b/test/jalview/ws/gui/Jws2ParamView.java @@ -1,38 +1,52 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.ws.gui; -import static org.junit.Assert.assertTrue; -import jalview.gui.WsJobParameters; -import jalview.ws.jws2.JabaPreset; -import jalview.ws.jws2.Jws2Discoverer; -import jalview.ws.jws2.jabaws2.Jws2Instance; - import java.awt.BorderLayout; +import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; -import java.awt.event.WindowListener; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import java.util.Vector; import javax.swing.JFrame; import javax.swing.JPanel; -import org.junit.Test; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; -import compbio.metadata.Option; -import compbio.metadata.Parameter; import compbio.metadata.Preset; import compbio.metadata.PresetManager; +import jalview.bin.Cache; +import jalview.gui.WsJobParameters; +import jalview.util.MessageManager; +import jalview.ws.jabaws.JalviewJabawsTestUtils; +import jalview.ws.jws2.JabaPreset; +import jalview.ws.jws2.Jws2Discoverer; +import jalview.ws.jws2.jabaws2.Jws2Instance; + public class Jws2ParamView { /** - * test servers - */ - public static String[] serviceUrls = new String[] - { "http://localhost:8080/jabaws" }; - - /** * which services to test */ public static List serviceTests = new ArrayList(); @@ -46,234 +60,103 @@ public class Jws2ParamView serviceTests.add("AAConWS".toLowerCase()); } - @Test - public void testJws2Gui() + public static Jws2Discoverer disc = null; + + @BeforeClass + public static void setUpBeforeClass() throws Exception { - jalview.ws.jws2.Jws2Discoverer disc = jalview.ws.jws2.Jws2Discoverer - .getDiscoverer(); - int p = 0; - String svcurls=""; - Vector services = new Vector(); - for (String url : serviceUrls) - { - svcurls+=url+"; "; - services.add(url); - } - ; - Jws2Discoverer.setServiceUrls(services); + Cache.initLogger(); + disc = JalviewJabawsTestUtils.getJabawsDiscoverer(); + } - try - { - disc.run(); - } catch (Exception e) - { - System.err.println("Aborting. Problem discovering services. Tried "+svcurls); - e.printStackTrace(); - return; - } - assertTrue("Failed to discover any services at ", - disc.getServices().size() > 0); - Jws2Instance lastserv = null; + /** + * This test marked Ignore as it appears to need user action to complete + * rather than hang + */ + + @Test(enabled = false) + public void testJws2Gui() + { Iterator presetEnum = presetTests.iterator(); for (Jws2Instance service : disc.getServices()) { - lastserv = service; if (serviceTests.size() == 0 || serviceTests.contains(service.serviceType.toLowerCase())) { - if (lastserv != null) + List prl = null; + Preset pr = null; + if (presetEnum.hasNext()) { - List prl = null; - Preset pr = null; - if (presetEnum.hasNext()) + PresetManager prman = service.getPresets(); + if (prman != null) { - PresetManager prman = lastserv.getPresets(); - if (prman != null) + pr = prman.getPresetByName(presetEnum.next()); + if (pr == null) { - pr = prman.getPresetByName(presetEnum.next()); - if (pr == null) - { - // just grab the last preset. - prl = prman.getPresets(); - } + // just grab the last preset. + prl = prman.getPresets(); } } - else + } + else + { + PresetManager prman = service.getPresets(); + if (prman != null) + { + prl = prman.getPresets(); + } + } + Iterator en = (prl == null) ? null : prl.iterator(); + while (en != null && en.hasNext()) + { + if (en != null) { - PresetManager prman = lastserv.getPresets(); - if (prman != null) + if (!en.hasNext()) { - prl = prman.getPresets(); + en = prl.iterator(); } + pr = en.next(); } - Iterator en = (prl == null) ? null : prl.iterator(); - while (en != null && en.hasNext()) + WsJobParameters pgui = new WsJobParameters(service, + new JabaPreset(service, pr)); + JFrame jf = new JFrame(MessageManager.formatMessage( + "label.ws_parameters_for", new String[] + { service.getActionText() })); + jf.setSize(700, 800); + JPanel cont = new JPanel(new BorderLayout()); + pgui.validate(); + cont.setPreferredSize(pgui.getPreferredSize()); + cont.add(pgui, BorderLayout.CENTER); + jf.setLayout(new BorderLayout()); + jf.add(cont, BorderLayout.CENTER); + jf.validate(); + + final Thread thr = Thread.currentThread(); + + /* + * This seems to need a user to manually inspect / test / close the + * GUI for each service tested. Not standalone JUnit. + */ + jf.addWindowListener(new WindowAdapter() { - if (en != null) - { - if (!en.hasNext()) - { - en = prl.iterator(); - } - pr = en.next(); - } - { - System.out.println("Testing opts dupes for " - + lastserv.getUri() + " : " - + lastserv.getActionText() + ":" + pr.getName()); - List