From: Jim Procter Date: Fri, 3 Oct 2014 09:54:47 +0000 (+0100) Subject: JAL-1499 simple test to check JABA client can X-Git-Tag: Release_2_8_2b1^2~52^2 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=971ca3752d1e1139b8fa1c9bd80698e4d83dcab7;p=jalview.git JAL-1499 simple test to check JABA client can JAL-1499 send/receive data to JABA server --- diff --git a/test/jalview/ws/jabaws/MinJabawsClientTests.java b/test/jalview/ws/jabaws/MinJabawsClientTests.java new file mode 100644 index 0000000..5c9a192 --- /dev/null +++ b/test/jalview/ws/jabaws/MinJabawsClientTests.java @@ -0,0 +1,84 @@ +package jalview.ws.jabaws; + +import static org.junit.Assert.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Consumer; + +import jalview.ws.jws2.jabaws2.Jws2Instance; +import jalview.ws.jws2.jabaws2.Jws2InstanceFactory; + +import org.junit.Test; + +import compbio.data.msa.Category; +import compbio.data.msa.JABAService; +import compbio.data.msa.MsaWS; +import compbio.data.msa.RegistryWS; +import compbio.data.sequence.FastaSequence; +import compbio.metadata.JobStatus; +import compbio.ws.client.Jws2Client; +import compbio.ws.client.Services; + +public class MinJabawsClientTests { + + @SuppressWarnings("rawtypes") + @Test + public void msaTest() throws Exception { + String url; + RegistryWS registry = Jws2Client + .connectToRegistry(url = "http://www.compbio.dundee.ac.uk/jabaws"); + if (registry != null) { + + MsaWS msaservice = null; + for (Services service : registry.getSupportedServices()) { + if (service.equals(Services.ClustalOWS)) { + msaservice = (MsaWS) Jws2Client.connect(url, service); + if (msaservice != null) { + break; + } + } + } + if (msaservice == null) { + fail("couldn't find a clustalO service on the public registry"); + } + FastaSequence fsq = new FastaSequence("seqA", + "SESESESESESESESSESESSESESESESESESESESESEEEEEESSESESESESSSSESESESESESESE"); + List iseqs = new ArrayList(); + for (int i = 0; i < 9; i++) { + iseqs.add(new FastaSequence(fsq.getId() + i, fsq.getSequence() + + fsq.getSequence().substring(i + 3, i + 3 + i))); + } + + String jobid = msaservice.align(iseqs); + if (jobid != null) { + JobStatus js = null; + do { + try { + Thread.sleep(500); + } catch (InterruptedException q) { + } + ; + js = msaservice.getJobStatus(jobid); + } while (!js.equals(JobStatus.FAILED) + && !js.equals(JobStatus.CANCELLED) + && !js.equals(JobStatus.FINISHED)); + assertEquals("Trial alignment failed. State was " + js.name(), + js, JobStatus.FINISHED); + assertEquals( + "Mismatch in number of input and result sequences - assume alignment service wasn't interacted with correctly", + msaservice.getResult(jobid).getSequences().size(), + iseqs.size()); + msaservice.getResult(jobid).getSequences() + .forEach(new Consumer() { + @Override + public void accept(FastaSequence t) { + System.out.println(">"+t.getId()); + System.out.println(t.getFormattedFasta()); + } + }); + } + + } + } +}