JAL-3848 - actually test the Slivka and JABAWS disorder services - nb still need...
[jalview.git] / test / jalview / ws / jabaws / DisorderAnnotExportImport.java
index 3e3a06d..8c4816f 100644 (file)
@@ -32,9 +32,10 @@ import jalview.io.DataSourceType;
 import jalview.io.FileFormat;
 import jalview.io.FormatAdapter;
 import jalview.io.StockholmFileTest;
-import jalview.ws.jws2.AbstractJabaCalcWorker;
+import jalview.ws.api.ServiceWithParameters;
 import jalview.ws.jws2.Jws2Discoverer;
-import jalview.ws.jws2.jabaws2.Jws2Instance;
+import jalview.ws.jws2.SeqAnnotationServiceCalcWorker;
+import jalview.ws.slivkaws.SlivkaWSDiscoverer;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -42,6 +43,7 @@ import java.util.List;
 import org.testng.Assert;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
 /*
@@ -63,9 +65,9 @@ public class DisorderAnnotExportImport
 
   public static Jws2Discoverer disc;
 
-  public static List<Jws2Instance> iupreds;
+  public static List<ServiceWithParameters> iupreds;
 
-  jalview.ws.jws2.AbstractJabaCalcWorker disorderClient;
+  jalview.ws.jws2.SeqAnnotationServiceCalcWorker disorderClient;
 
   public static jalview.gui.AlignFrame af = null;
 
@@ -81,11 +83,16 @@ public class DisorderAnnotExportImport
       // don't get services until discoverer has finished
       Thread.sleep(100);
     }
-
+    SlivkaWSDiscoverer disc2 = SlivkaWSDiscoverer.getInstance();
+    disc2.startDiscoverer();
+    while (disc2.isRunning())
+    {
+      Thread.sleep(100);
+    }
     iupreds = new ArrayList<>();
-    for (Jws2Instance svc : disc.getServices())
+    for (ServiceWithParameters svc : disc2.getServices())
     {
-      if (svc.getNameURI().toLowerCase().contains("iupredws"))
+      if (svc.getNameURI().toLowerCase().contains("iupred"))
       {
         iupreds.add(svc);
       }
@@ -107,14 +114,28 @@ public class DisorderAnnotExportImport
       af = null;
     }
   }
+  
+  @DataProvider(name="getIuPreds",parallel = false)
+  public static ServiceWithParameters[][] getIuPreds()
+  {
+    ServiceWithParameters[][] services = new ServiceWithParameters[iupreds
+            .size()][1];
+
+    int i = 0;
+    for (ServiceWithParameters iupred : iupreds)
+    {
+      services[i++][0] = iupred;
+    }
+    return services;
+  }
 
   /**
    * test for patches to JAL-1294
    */
-  @Test(groups = { "External", "Network" })
-  public void testDisorderAnnotExport()
+  @Test(groups = { "External", "Network" },dataProvider = "getIuPreds")
+  public void testDisorderAnnotExport(ServiceWithParameters iuPred)
   {
-    disorderClient = new AbstractJabaCalcWorker(iupreds.get(0), af, null,
+    disorderClient = new SeqAnnotationServiceCalcWorker(iuPred, af, null,
             null);
     af.getViewport().getCalcManager().startWorker(disorderClient);
     do