JWS-61 test demonstrating compound option value problem with JABAWS client
[jabaws.git] / testsrc / compbio / ws / client / TestAAConWS.java
index 6476311..b6be0d7 100644 (file)
@@ -3,13 +3,16 @@ package compbio.ws.client;
 import static org.testng.Assert.assertEquals;\r
 import static org.testng.Assert.assertNotNull;\r
 import static org.testng.Assert.fail;\r
-\r
+import static org.testng.Assert.assertTrue;\r
 import java.io.File;\r
 import java.io.FileInputStream;\r
 import java.io.FileNotFoundException;\r
 import java.io.IOException;\r
+import java.net.ConnectException;\r
 import java.util.List;\r
 \r
+import javax.xml.ws.WebServiceException;\r
+\r
 import org.testng.annotations.BeforeTest;\r
 import org.testng.annotations.Test;\r
 \r
@@ -19,8 +22,11 @@ import compbio.data.sequence.ConservationMethod;
 import compbio.data.sequence.FastaSequence;\r
 import compbio.data.sequence.ScoreManager;\r
 import compbio.data.sequence.SequenceUtil;\r
+import compbio.metadata.AllTestSuit;\r
 import compbio.metadata.JobSubmissionException;\r
 import compbio.metadata.LimitExceededException;\r
+import compbio.metadata.Option;\r
+import compbio.metadata.Preset;\r
 import compbio.metadata.PresetManager;\r
 import compbio.metadata.ResultNotAvailableException;\r
 import compbio.metadata.RunnerConfig;\r
@@ -33,7 +39,7 @@ public class TestAAConWS {
 \r
        SequenceAnnotation<AACon> msaws;\r
 \r
-       @BeforeTest\r
+       @BeforeTest(groups = {AllTestSuit.test_group_webservices})\r
        void initConnection() {\r
                /*\r
                 * URL url = null; try { url = new\r
@@ -44,13 +50,20 @@ public class TestAAConWS {
                 * QName(namespace, "AAConWS"); Service serv = Service.create(url,\r
                 * qname); msaws = serv.getPort(new QName(namespace, "AAConWSPort"),\r
                 * Annotation.class);\r
-                */\r
-               JABAService client = Jws2Client.connect("http://localhost:8080/jabaws",\r
-                               Services.AAConWS);\r
-               msaws = (SequenceAnnotation<AACon>) client;\r
+                */try {\r
+                       JABAService client = Jws2Client.connect(\r
+                                       "http://localhost:8080/jabaws", Services.AAConWS);\r
+                       msaws = (SequenceAnnotation<AACon>) client;\r
+               } catch (ConnectException e) {\r
+                       e.printStackTrace();\r
+                       fail(e.getMessage());\r
+               } catch (WebServiceException e) {\r
+                       e.printStackTrace();\r
+                       fail(e.getMessage());\r
+               }\r
        }\r
 \r
-       @Test\r
+       @Test(groups = {AllTestSuit.test_group_webservices})\r
        public void testAnalize() throws FileNotFoundException, IOException {\r
 \r
                /*\r
@@ -77,12 +90,11 @@ public class TestAAConWS {
                        System.out.println("J: " + jobId);\r
                        ScoreManager result = msaws.getAnnotation(jobId);\r
                        assertNotNull(result);\r
-                       assertEquals(result.getFirstSequenceScores().getNumberOfScores(), 1);\r
+                       assertEquals(result.asSet().size(), 1);\r
 \r
-                       assertEquals(result.getFirstSequenceScores().getFirstScore()\r
-                                       .getMethod(), ConservationMethod.SHENKIN);\r
-                       List<Float> scores = result.getFirstSequenceScores()\r
-                                       .getFirstScore().getScores();\r
+                       assertEquals(result.asSet().iterator().next().getMethod(),\r
+                                       ConservationMethod.SHENKIN.toString());\r
+                       List<Float> scores = result.asSet().iterator().next().getScores();\r
                        assertNotNull(scores);\r
                        assertEquals(scores.size(), 568);\r
 \r
@@ -92,21 +104,19 @@ public class TestAAConWS {
                                        presets.getPresetByName("Quick conservation"));\r
                        result = msaws.getAnnotation(jobId);\r
                        assertNotNull(result);\r
-                       assertEquals(result.getFirstSequenceScores().getNumberOfScores(),\r
-                                       13);\r
+                       assertEquals(result.asSet().size(), 13);\r
 \r
                        jobId = msaws.presetAnalize(fsl,\r
                                        presets.getPresetByName("Slow conservation"));\r
                        result = msaws.getAnnotation(jobId);\r
                        assertNotNull(result);\r
-                       assertEquals(result.getFirstSequenceScores().getNumberOfScores(), 5);\r
+                       assertEquals(result.asSet().size(), 5);\r
 \r
                        jobId = msaws.presetAnalize(fsl,\r
                                        presets.getPresetByName("Complete conservation"));\r
                        result = msaws.getAnnotation(jobId);\r
                        assertNotNull(result);\r
-                       assertEquals(result.getFirstSequenceScores().getNumberOfScores(),\r
-                                       18);\r
+                       assertEquals(result.asSet().size(), 18);\r
 \r
                } catch (UnsupportedRuntimeException e) {\r
                        e.printStackTrace();\r
@@ -126,7 +136,17 @@ public class TestAAConWS {
                }\r
 \r
        }\r
-       @Test\r
+       @Test(groups = {AllTestSuit.test_group_webservices})\r
+       public void testRecoverArgsForPreset() throws Exception {\r
+               PresetManager<AACon> presets = msaws.getPresets();\r
+               for (Preset<AACon> preset:presets.getPresets())\r
+               {\r
+                       List<Option<AACon>> args = preset.getArguments(msaws.getRunnerOptions());\r
+                       List opts = preset.getOptions();\r
+                       assertTrue(args.size()>=opts.size(),"Couldn't recover all Option items for preset "+preset.getName());\r
+               }\r
+       }\r
+       @Test(groups = {AllTestSuit.test_group_webservices})\r
        public void testPresetAnalize() throws FileNotFoundException, IOException {\r
 \r
                String CURRENT_DIRECTORY = SysPrefs.getCurrentDirectory()\r
@@ -145,21 +165,19 @@ public class TestAAConWS {
                                        presets.getPresetByName("Quick conservation"));\r
                        ScoreManager result = msaws.getAnnotation(jobId);\r
                        assertNotNull(result);\r
-                       assertEquals(result.getFirstSequenceScores().getNumberOfScores(),\r
-                                       13);\r
+                       assertEquals(result.asSet().size(), 13);\r
 \r
                        jobId = msaws.presetAnalize(fsl,\r
                                        presets.getPresetByName("Slow conservation"));\r
                        result = msaws.getAnnotation(jobId);\r
                        assertNotNull(result);\r
-                       assertEquals(result.getFirstSequenceScores().getNumberOfScores(), 5);\r
+                       assertEquals(result.asSet().size(), 5);\r
 \r
                        jobId = msaws.presetAnalize(fsl,\r
                                        presets.getPresetByName("Complete conservation"));\r
                        result = msaws.getAnnotation(jobId);\r
                        assertNotNull(result);\r
-                       assertEquals(result.getFirstSequenceScores().getNumberOfScores(),\r
-                                       18);\r
+                       assertEquals(result.asSet().size(), 18);\r
 \r
                } catch (UnsupportedRuntimeException e) {\r
                        e.printStackTrace();\r
@@ -180,7 +198,7 @@ public class TestAAConWS {
 \r
        }\r
 \r
-       @Test\r
+       @Test(groups = {AllTestSuit.test_group_webservices})\r
        public void testCustomAnalize() throws FileNotFoundException, IOException {\r
 \r
                String CURRENT_DIRECTORY = SysPrefs.getCurrentDirectory()\r
@@ -202,9 +220,9 @@ public class TestAAConWS {
                        String jobId = msaws.customAnalize(fsl, options.getArguments());\r
                        ScoreManager result = msaws.getAnnotation(jobId);\r
                        assertNotNull(result);\r
-                       assertEquals(result.getFirstSequenceScores().getNumberOfScores(), 1);\r
-                       assertEquals(result.getFirstSequenceScores().getFirstScore()\r
-                                       .getScores().get(0), 0.698f);\r
+                       assertEquals(result.asSet().size(), 1);\r
+                       assertEquals(result.asSet().iterator().next().getScores().get(0),\r
+                                       0.698f);\r
 \r
                        options.getArgument("Calculation method").setDefaultValue("SMERFS");\r
                        options.removeArgument("Normalize");\r
@@ -212,9 +230,9 @@ public class TestAAConWS {
                        jobId = msaws.customAnalize(fsl, options.getArguments());\r
                        result = msaws.getAnnotation(jobId);\r
                        assertNotNull(result);\r
-                       assertEquals(result.getFirstSequenceScores().getNumberOfScores(), 1);\r
-                       assertEquals(result.getFirstSequenceScores().getFirstScore()\r
-                                       .getScores().get(0), 0.401f);\r
+                       assertEquals(result.asSet().size(), 1);\r
+                       assertEquals(result.asSet().iterator().next().getScores().get(0),\r
+                                       0.401f);\r
 \r
                } catch (WrongParameterException e) {\r
                        e.printStackTrace();\r