2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
5 * This file is part of Jalview.
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.
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.
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.
21 package jalview.ws.rest;
23 import static org.testng.AssertJUnit.assertNotNull;
24 import static org.testng.AssertJUnit.assertTrue;
26 import jalview.gui.AlignFrame;
27 import jalview.gui.JvOptionPane;
28 import jalview.ws.rest.clientdefs.ShmrRestClient;
32 import org.testng.annotations.BeforeClass;
33 import org.testng.annotations.Test;
39 public class ShmmrRSBSService
42 @BeforeClass(alwaysRun = true)
43 public void setUpJvOptionPane()
45 JvOptionPane.setInteractiveMode(false);
46 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
49 @Test(groups = { "Functional" })
50 public void testShmmrService()
54 "Test Rsd Exchange using using default Shmmr service failed.",
55 testRsdExchange("Test using default Shmmr service",
56 ShmrRestClient.makeShmmrRestClient().service));
59 @Test(groups = { "Functional" })
60 public void testShmmrServiceDataprep() throws Exception
62 RestClient _rc = ShmrRestClient.makeShmmrRestClient();
64 AlignFrame alf = new jalview.io.FileLoader(false)
65 .LoadFileWaitTillLoaded("examples/testdata/smad.fa",
66 jalview.io.DataSourceType.FILE);
67 assertNotNull("Couldn't find test data.", alf);
68 alf.loadJalviewDataFile("examples/testdata/smad_groups.jva",
69 jalview.io.DataSourceType.FILE, null, null);
71 "Couldn't load the test data's annotation file (should be 5 groups but found "
72 + alf.getViewport().getAlignment().getGroups().size()
74 alf.getViewport().getAlignment().getGroups().size() == 5);
76 RestClient rc = new RestClient(_rc.service, alf, true);
78 assertNotNull("Couldn't creat RestClient job.", rc);
79 jalview.bin.Console.initLogger();
80 RestJob rjb = new RestJob(0, new RestJobThread(rc),
81 rc.av.getAlignment(), null);
82 rjb.setAlignmentForInputs(rc.service.getInputParams().values(),
83 rc.av.getAlignment());
84 for (Map.Entry<String, InputType> e : rc.service.getInputParams()
87 System.out.println("For Input '" + e.getKey() + ":\n"
88 + e.getValue().formatForInput(rjb).getContentLength());
92 private static boolean testRsdExchange(String desc, String servicestring)
96 RestServiceDescription newService = new RestServiceDescription(
98 if (!newService.isValid())
100 throw new Error("Failed to create service from '" + servicestring
101 + "'.\n" + newService.getInvalidMessage());
103 return testRsdExchange(desc, newService);
104 } catch (Throwable x)
107 "Failed for service (" + desc + "): " + servicestring);
113 private static boolean testRsdExchange(String desc,
114 RestServiceDescription service)
118 String fromservicetostring = service.toString();
119 RestServiceDescription newService = new RestServiceDescription(
120 fromservicetostring);
121 if (!newService.isValid())
124 "Failed to create service from '" + fromservicetostring
125 + "'.\n" + newService.getInvalidMessage());
128 if (!service.equals(newService))
130 System.err.println("Failed for service (" + desc + ").");
131 if (fromservicetostring.equals(newService.toString()))
134 "Description strings are equivalent: fault during RestServiceDescription.equals()");
137 System.err.println("Original service and parsed service differ.");
138 System.err.println("Original: " + fromservicetostring);
139 System.err.println("Parsed : " + newService.toString());
142 } catch (Throwable x)
145 "Failed for service (" + desc + "): " + service.toString());