1 package compbio.ws.server;
\r
3 import static org.testng.Assert.assertNotNull;
\r
4 import static org.testng.Assert.assertTrue;
\r
5 import static org.testng.Assert.fail;
\r
8 import java.io.FileInputStream;
\r
9 import java.io.FileNotFoundException;
\r
10 import java.io.IOException;
\r
11 import java.net.ConnectException;
\r
12 import java.util.Arrays;
\r
13 import java.util.List;
\r
14 import java.util.Set;
\r
16 import javax.xml.ws.WebServiceException;
\r
18 import org.testng.annotations.Test;
\r
20 import compbio.data.msa.MsaWS;
\r
21 import compbio.data.sequence.FastaSequence;
\r
22 import compbio.data.sequence.SequenceUtil;
\r
23 import compbio.metadata.AllTestSuit;
\r
24 import compbio.metadata.ChunkHolder;
\r
25 import compbio.metadata.JobStatus;
\r
26 import compbio.metadata.JobSubmissionException;
\r
27 import compbio.metadata.ResultNotAvailableException;
\r
28 import compbio.ws.client.Jws2Client;
\r
29 import compbio.ws.client.Services;
\r
30 import compbio.ws.client.WSTesterTester;
\r
32 public class RegistryWSTester {
\r
34 @Test(groups = {AllTestSuit.test_group_webservices,
\r
35 AllTestSuit.test_group_windows_only})
\r
36 public void testGetSupportedServices() {
\r
38 compbio.data.msa.RegistryWS reg = Jws2Client
\r
39 .connectToRegistry(WSTesterTester.SERVER);
\r
40 System.out.println(reg.getSupportedServices());
\r
41 Set<Services> supserv = reg.getSupportedServices();
\r
42 assertTrue(supserv.containsAll(Arrays.asList(new Services[]{
\r
43 Services.AAConWS, Services.ClustalOWS, Services.IUPredWS,
\r
44 Services.MuscleWS, Services.ClustalWS, Services.JronnWS})));
\r
45 } catch (ConnectException e) {
\r
46 e.printStackTrace();
\r
47 fail(e.getLocalizedMessage());
\r
48 } catch (WebServiceException e) {
\r
49 e.printStackTrace();
\r
50 fail(e.getLocalizedMessage());
\r
53 @Test(groups = {AllTestSuit.test_group_webservices})
\r
54 public void testTestService() {
\r
55 compbio.data.msa.RegistryWS reg = null;
\r
57 reg = Jws2Client.connectToRegistry(WSTesterTester.SERVER);
\r
58 assertNotNull(reg.testService(Services.AAConWS));
\r
59 } catch (ConnectException e) {
\r
60 e.printStackTrace();
\r
61 fail(e.getLocalizedMessage());
\r
62 } catch (WebServiceException e) {
\r
63 e.printStackTrace();
\r
64 fail(e.getLocalizedMessage());
\r
68 @Test(dependsOnMethods = {"testTestService"}, groups = {AllTestSuit.test_group_webservices})
\r
69 public void testIsOperating() {
\r
71 compbio.data.msa.RegistryWS reg = Jws2Client
\r
72 .connectToRegistry(WSTesterTester.SERVER);
\r
73 assertTrue(reg.isOperating(Services.AAConWS));
\r
74 } catch (ConnectException e) {
\r
75 e.printStackTrace();
\r
76 fail(e.getLocalizedMessage());
\r
77 } catch (WebServiceException e) {
\r
78 e.printStackTrace();
\r
79 fail(e.getLocalizedMessage());
\r
83 @Test(dependsOnMethods = {"testTestService"}, groups = {AllTestSuit.test_group_webservices})
\r
84 public void testGetLastTestedOn() {
\r
86 compbio.data.msa.RegistryWS reg = Jws2Client
\r
87 .connectToRegistry(WSTesterTester.SERVER);
\r
88 assertNotNull(reg.getLastTestedOn(Services.AAConWS));
\r
89 } catch (ConnectException e) {
\r
90 e.printStackTrace();
\r
91 fail(e.getLocalizedMessage());
\r
92 } catch (WebServiceException e) {
\r
93 e.printStackTrace();
\r
94 fail(e.getLocalizedMessage());
\r
98 @Test(dependsOnMethods = {"testTestService"}, groups = {AllTestSuit.test_group_webservices})
\r
99 public void testGetLastTested() {
\r
101 Thread.sleep(1000);
\r
102 } catch (InterruptedException e) {
\r
103 e.printStackTrace();
\r
104 fail(e.getMessage());
\r
107 compbio.data.msa.RegistryWS reg = Jws2Client
\r
108 .connectToRegistry(WSTesterTester.SERVER);
\r
109 System.out.println(reg.getLastTested(Services.AAConWS));
\r
110 assertTrue(reg.getLastTested(Services.AAConWS) > 0);
\r
111 } catch (ConnectException e) {
\r
112 e.printStackTrace();
\r
113 fail(e.getLocalizedMessage());
\r
114 } catch (WebServiceException e) {
\r
115 e.printStackTrace();
\r
116 fail(e.getLocalizedMessage());
\r
120 @Test(groups = {AllTestSuit.test_group_webservices})
\r
121 public void testTestAllServices() {
\r
123 compbio.data.msa.RegistryWS reg = Jws2Client
\r
124 .connectToRegistry(WSTesterTester.SERVER);
\r
125 System.out.println(reg.testAllServices());
\r
126 } catch (ConnectException e) {
\r
127 e.printStackTrace();
\r
128 fail(e.getLocalizedMessage());
\r
129 } catch (WebServiceException e) {
\r
130 e.printStackTrace();
\r
131 fail(e.getLocalizedMessage());
\r
135 @Test(groups = {AllTestSuit.test_group_webservices})
\r
136 public void testProgressReporting() {
\r
137 MsaWS service = null;
\r
139 service = (MsaWS) Jws2Client.connect(
\r
140 "http://www.compbio.dundee.ac.uk/jabaws",
\r
141 // "http://webserv1.cluster.lifesci.dundee.ac.uk:8089/jabaws",
\r
142 Services.ProbconsWS);
\r
143 File input = new File(AllTestSuit.TEST_DATA_PATH_ABSOLUTE
\r
144 + "200x500Protein.fasta");
\r
145 assertTrue(input.exists());
\r
146 List<FastaSequence> fs = SequenceUtil
\r
147 .readFasta(new FileInputStream(input));
\r
148 String jobId = service.align(fs);
\r
149 Thread.sleep(5000);
\r
150 ChunkHolder pos = null;
\r
151 while (service.getJobStatus(jobId) == JobStatus.RUNNING) {
\r
153 pos = service.pullExecStatistics(jobId, 0);
\r
155 pos = service.pullExecStatistics(jobId,
\r
156 pos.getNextPosition());
\r
159 System.out.print(pos.getChunk());
\r
161 System.out.println();
\r
162 System.out.println(service.getResult(jobId));
\r
163 } catch (ConnectException e) {
\r
164 e.printStackTrace();
\r
165 fail(e.getLocalizedMessage());
\r
166 } catch (WebServiceException e) {
\r
167 e.printStackTrace();
\r
168 fail(e.getLocalizedMessage());
\r
169 } catch (ResultNotAvailableException e) {
\r
170 e.printStackTrace();
\r
171 fail(e.getLocalizedMessage());
\r
172 } catch (FileNotFoundException e) {
\r
173 e.printStackTrace();
\r
174 fail(e.getLocalizedMessage());
\r
175 } catch (IOException e) {
\r
176 e.printStackTrace();
\r
177 fail(e.getLocalizedMessage());
\r
178 } catch (JobSubmissionException e) {
\r
179 e.printStackTrace();
\r
180 fail(e.getLocalizedMessage());
\r
181 } catch (InterruptedException e) {
\r
182 e.printStackTrace();
\r
183 fail(e.getLocalizedMessage());
\r
187 @Test(groups = {AllTestSuit.test_group_webservices})
\r
188 public void testPullRunningJob() {
\r
189 MsaWS service = null;
\r
191 service = (MsaWS) Jws2Client.connect(
\r
192 "http://webserv1.cluster.lifesci.dundee.ac.uk:8089/jabaws",
\r
193 Services.ProbconsWS);
\r
194 String jobId = "@Probcons#158079030012566";
\r
195 ChunkHolder pos = null;
\r
196 while (service.getJobStatus(jobId) == JobStatus.RUNNING) {
\r
198 pos = service.pullExecStatistics(jobId, 0);
\r
200 pos = service.pullExecStatistics(jobId,
\r
201 pos.getNextPosition());
\r
204 System.out.print(pos.getChunk());
\r
206 System.out.println();
\r
207 System.out.println(service.getResult(jobId));
\r
208 } catch (ConnectException e) {
\r
209 e.printStackTrace();
\r
210 fail(e.getLocalizedMessage());
\r
211 } catch (WebServiceException e) {
\r
212 e.printStackTrace();
\r
213 fail(e.getLocalizedMessage());
\r
214 } catch (ResultNotAvailableException e) {
\r
215 e.printStackTrace();
\r
216 fail(e.getLocalizedMessage());
\r
217 } catch (InterruptedException e) {
\r
218 e.printStackTrace();
\r
219 fail(e.getLocalizedMessage());
\r