Class |
Line # |
Actions |
|||
---|---|---|---|---|---|
ShmmrRSBSService | 38 | 39 | 10 |
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.rest; | |
22 | ||
23 | import static org.testng.AssertJUnit.assertNotNull; | |
24 | import static org.testng.AssertJUnit.assertTrue; | |
25 | ||
26 | import jalview.gui.AlignFrame; | |
27 | import jalview.gui.JvOptionPane; | |
28 | ||
29 | import java.util.Map; | |
30 | ||
31 | import org.testng.annotations.BeforeClass; | |
32 | import org.testng.annotations.Test; | |
33 | ||
34 | /** | |
35 | * @author jimp | |
36 | * | |
37 | */ | |
38 | public class ShmmrRSBSService | |
39 | { | |
40 | ||
41 | 1 | @BeforeClass(alwaysRun = true) |
42 | public void setUpJvOptionPane() | |
43 | { | |
44 | 1 | JvOptionPane.setInteractiveMode(false); |
45 | 1 | JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); |
46 | } | |
47 | ||
48 | 1 | @Test(groups = { "Functional" }) |
49 | public void testShmmrService() | |
50 | { | |
51 | ||
52 | 1 | assertTrue( |
53 | "Test Rsd Exchange using using default Shmmr service failed.", | |
54 | testRsdExchange("Test using default Shmmr service", | |
55 | RestClient.makeShmmrRestClient().service)); | |
56 | } | |
57 | ||
58 | 1 | @Test(groups = { "Functional" }) |
59 | public void testShmmrServiceDataprep() throws Exception | |
60 | { | |
61 | 1 | RestClient _rc = RestClient.makeShmmrRestClient(); |
62 | 1 | assertNotNull(_rc); |
63 | 1 | AlignFrame alf = new jalview.io.FileLoader(false) |
64 | .LoadFileWaitTillLoaded("examples/testdata/smad.fa", | |
65 | jalview.io.DataSourceType.FILE); | |
66 | 1 | assertNotNull("Couldn't find test data.", alf); |
67 | 1 | alf.loadJalviewDataFile("examples/testdata/smad_groups.jva", |
68 | jalview.io.DataSourceType.FILE, null, null); | |
69 | 1 | assertTrue( |
70 | "Couldn't load the test data's annotation file (should be 5 groups but found " | |
71 | + alf.getViewport().getAlignment().getGroups().size() | |
72 | + ").", | |
73 | alf.getViewport().getAlignment().getGroups().size() == 5); | |
74 | ||
75 | 1 | RestClient rc = new RestClient(_rc.service, alf, true); |
76 | ||
77 | 1 | assertNotNull("Couldn't creat RestClient job.", rc); |
78 | 1 | jalview.bin.Console.initLogger(); |
79 | 1 | RestJob rjb = new RestJob(0, new RestJobThread(rc), |
80 | rc.av.getAlignment(), null); | |
81 | 1 | rjb.setAlignmentForInputs(rc.service.getInputParams().values(), |
82 | rc.av.getAlignment()); | |
83 | 1 | for (Map.Entry<String, InputType> e : rc.service.getInputParams() |
84 | .entrySet()) | |
85 | { | |
86 | 2 | System.out.println("For Input '" + e.getKey() + ":\n" |
87 | + e.getValue().formatForInput(rjb).getContentLength()); | |
88 | } | |
89 | } | |
90 | ||
91 | 0 | private static boolean testRsdExchange(String desc, String servicestring) |
92 | { | |
93 | 0 | try |
94 | { | |
95 | 0 | RestServiceDescription newService = new RestServiceDescription( |
96 | servicestring); | |
97 | 0 | if (!newService.isValid()) |
98 | { | |
99 | 0 | throw new Error("Failed to create service from '" + servicestring |
100 | + "'.\n" + newService.getInvalidMessage()); | |
101 | } | |
102 | 0 | return testRsdExchange(desc, newService); |
103 | } catch (Throwable x) | |
104 | { | |
105 | 0 | System.err.println( |
106 | "Failed for service (" + desc + "): " + servicestring); | |
107 | 0 | x.printStackTrace(); |
108 | 0 | return false; |
109 | } | |
110 | } | |
111 | ||
112 | 1 | private static boolean testRsdExchange(String desc, |
113 | RestServiceDescription service) | |
114 | { | |
115 | 1 | try |
116 | { | |
117 | 1 | String fromservicetostring = service.toString(); |
118 | 1 | RestServiceDescription newService = new RestServiceDescription( |
119 | fromservicetostring); | |
120 | 1 | if (!newService.isValid()) |
121 | { | |
122 | 0 | throw new Error( |
123 | "Failed to create service from '" + fromservicetostring | |
124 | + "'.\n" + newService.getInvalidMessage()); | |
125 | } | |
126 | ||
127 | 1 | if (!service.equals(newService)) |
128 | { | |
129 | 0 | System.err.println("Failed for service (" + desc + ")."); |
130 | 0 | System.err.println("Original service and parsed service differ."); |
131 | 0 | System.err.println("Original: " + fromservicetostring); |
132 | 0 | System.err.println("Parsed : " + newService.toString()); |
133 | 0 | return false; |
134 | } | |
135 | } catch (Throwable x) | |
136 | { | |
137 | 0 | System.err.println( |
138 | "Failed for service (" + desc + "): " + service.toString()); | |
139 | 0 | x.printStackTrace(); |
140 | 0 | return false; |
141 | } | |
142 | 1 | return true; |
143 | } | |
144 | ||
145 | } |