package compbio.ws.client; import compbio.metadata.AllTestSuit; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; import static org.testng.Assert.fail; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; 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.FoldWS; import compbio.data.msa.JABAService; import compbio.data.msa.SequenceAnnotation; import compbio.data.sequence.Alignment; import compbio.data.sequence.RNAstruct; import compbio.data.sequence.ClustalAlignmentUtil; import compbio.data.sequence.ConservationMethod; import compbio.data.sequence.FastaSequence; import compbio.data.sequence.ScoreManager; import compbio.data.sequence.SequenceUtil; import compbio.data.sequence.UnknownFileFormatException; import compbio.metadata.AllTestSuit; import compbio.metadata.JobSubmissionException; import compbio.metadata.LimitExceededException; import compbio.metadata.Option; import compbio.metadata.PresetManager; import compbio.metadata.ResultNotAvailableException; import compbio.metadata.RunnerConfig; import compbio.metadata.UnsupportedRuntimeException; import compbio.metadata.WrongParameterException; import compbio.runner.conservation.AACon; import compbio.util.SysPrefs; import compbio.ws.server.RNAalifoldWS; public class TestRNAalifoldWS { FoldWS foldws; @BeforeTest(groups = {AllTestSuit.test_group_webservices}) void initConnection() { try { JABAService client = Jws2Client.connect( "http://localhost:8080/jabaws", Services.RNAalifoldWS); foldws = (FoldWS) 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 { // String CURRENT_DIRECTORY = SysPrefs.getCurrentDirectory() // + File.separator; Alignment aln = ClustalAlignmentUtil.readClustalFile(new FileInputStream( AllTestSuit.test_input_aln)); try { List> options = new ArrayList>(); options.add(foldws.getRunnerOptions().getArgumentByOptionName("--mis")); System.out.println("TestRNAalifoldWS: print options: " + options.toString()); String jobId = foldws.customFold(aln, options); System.out.println("J: " + jobId); String result = foldws.getResult(jobId); System.out.println("fold results: \n" + result); 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()); } } }