--- /dev/null
+ package compbio.ws.client;
+
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.fail;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.net.ConnectException;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.ws.WebServiceException;
+
+import org.testng.annotations.BeforeTest;
+import org.testng.annotations.Test;
+
+import compbio.data.msa.JABAService;
+import compbio.data.msa.SequenceAnnotation;
+import compbio.data.sequence.Alignment;
+import compbio.data.sequence.ClustalAlignmentUtil;
+import compbio.data.sequence.FastaSequence;
+import compbio.data.sequence.RNAStructScoreManager;
+import compbio.data.sequence.UnknownFileFormatException;
+import compbio.metadata.AllTestSuit;
+import compbio.metadata.JobSubmissionException;
+import compbio.metadata.LimitExceededException;
+import compbio.metadata.Option;
+import compbio.metadata.ResultNotAvailableException;
+import compbio.metadata.UnsupportedRuntimeException;
+import compbio.metadata.WrongParameterException;
+import compbio.ws.server.RNAalifoldWS;
+
+
+public class TestRNAalifoldWS {
+
+ SequenceAnnotation<RNAalifoldWS> foldws;
+// RNAalifoldWS foldws;
+
+ @BeforeTest(groups = {AllTestSuit.test_group_webservices})
+ void initConnection() {
+
+ try {
+ JABAService client = Jws2Client.connect(
+ "http://localhost:8080/jabaws", Services.RNAalifoldWS);
+// foldws = (RNAalifoldWS) client;
+ foldws = (SequenceAnnotation<RNAalifoldWS>) client;
+ } catch (ConnectException e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ } catch (WebServiceException e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ }
+ }
+
+
+ @Test(groups = {AllTestSuit.test_group_webservices})
+ public void testFold() throws FileNotFoundException, IOException,
+ UnknownFileFormatException {
+
+ Alignment aln = ClustalAlignmentUtil.readClustalFile(new FileInputStream(
+ AllTestSuit.test_input_aln));
+
+ List<FastaSequence> fsl = aln.getSequences();
+
+ try {
+ List<Option<RNAalifoldWS>> options = new ArrayList<Option<RNAalifoldWS>>();
+ options.add(foldws.getRunnerOptions().getArgumentByOptionName("--mis"));
+ options.add(foldws.getRunnerOptions().getArgumentByOptionName("-p"));
+ options.add(foldws.getRunnerOptions().getArgumentByOptionName("--MEA"));
+
+ System.out.println("TestRNAalifoldWS: print options: " + options.toString());
+
+ String jobId = foldws.customAnalize(fsl, options);
+ System.out.println("J: " + jobId);
+ RNAStructScoreManager result = (RNAStructScoreManager)foldws.getAnnotation(jobId);
+
+ Writer writer = new OutputStreamWriter(System.out);
+ result.writeOut(writer);
+
+ assertNotNull(result);
+
+ } catch (UnsupportedRuntimeException e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ } catch (LimitExceededException e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ } catch (JobSubmissionException e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ } catch (ResultNotAvailableException e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ } catch (WrongParameterException e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ }
+ }
+}
+
+
+