X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2Fjabaws%2FDisorderAnnotExportImport.java;h=4602e9364b2e7f7ff7d8c8c8590fbb9c0ca6a2e3;hb=3f4b01ff53be81b3a04a9893f9bd2a93dbee0a6f;hp=71fc82959779cea7041346dd30bf3d87bae211dd;hpb=838e4f91d4a53dd315640dbc9ff6ef7a815ee576;p=jalview.git diff --git a/test/jalview/ws/jabaws/DisorderAnnotExportImport.java b/test/jalview/ws/jabaws/DisorderAnnotExportImport.java index 71fc829..4602e93 100644 --- a/test/jalview/ws/jabaws/DisorderAnnotExportImport.java +++ b/test/jalview/ws/jabaws/DisorderAnnotExportImport.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -20,17 +20,24 @@ */ package jalview.ws.jabaws; +import java.util.Locale; import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertTrue; +import jalview.bin.Cache; +import jalview.bin.Console; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; +import jalview.gui.JvOptionPane; import jalview.io.AnnotationFile; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; import jalview.io.FormatAdapter; import jalview.io.StockholmFileTest; -import jalview.ws.jws2.AADisorderClient; +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; @@ -38,31 +45,57 @@ 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; -@Test(groups = { "Network" }) +/* + * All methods in this class are set to the Network group because setUpBeforeClass will fail + * if there is no network. + */ +@Test(singleThreaded = true) public class DisorderAnnotExportImport { + + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + public static String testseqs = "examples/uniref50.fa"; public static Jws2Discoverer disc; - public static List iupreds; + public static List iupreds; - jalview.ws.jws2.AADisorderClient disorderClient; + jalview.ws.jws2.SeqAnnotationServiceCalcWorker disorderClient; public static jalview.gui.AlignFrame af = null; - @BeforeClass(inheritGroups = true) + @BeforeClass(alwaysRun = true) public static void setUpBeforeClass() throws Exception { - - jalview.bin.Cache.initLogger(); + Cache.loadProperties("test/jalview/io/testProps.jvprops"); + Console.initLogger(); disc = JalviewJabawsTestUtils.getJabawsDiscoverer(); - iupreds = new ArrayList(); - for (Jws2Instance svc : disc.getServices()) + + while (disc.isRunning()) + { + // don't get services until discoverer has finished + Thread.sleep(100); + } + + SlivkaWSDiscoverer disc2 = SlivkaWSDiscoverer.getInstance(); + disc2.startDiscoverer(); + while (disc2.isRunning()) { - if (svc.getServiceTypeURI().toLowerCase().contains("iupredws")) + Thread.sleep(100); + } + iupreds = new ArrayList<>(); + for (ServiceWithParameters svc : disc2.getServices()) + { + if (svc.getNameURI().toLowerCase().contains("iupred")) { iupreds.add(svc); } @@ -70,7 +103,8 @@ public class DisorderAnnotExportImport assertTrue("Couldn't discover any IUPred services to use to test.", iupreds.size() > 0); jalview.io.FileLoader fl = new jalview.io.FileLoader(false); - af = fl.LoadFileWaitTillLoaded(testseqs, jalview.io.FormatAdapter.FILE); + af = fl.LoadFileWaitTillLoaded(testseqs, + jalview.io.DataSourceType.FILE); assertNotNull("Couldn't load test data ('" + testseqs + "')", af); } @@ -84,14 +118,29 @@ 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 - public void testDisorderAnnotExport() + @Test(groups = { "External", "Network" },dataProvider = "getIuPreds") + public void testDisorderAnnotExport(ServiceWithParameters iuPred) { - disorderClient = new AADisorderClient(iupreds.get(0), af, null, null); + disorderClient = new SeqAnnotationServiceCalcWorker(iuPred, af, null, + null); af.getViewport().getCalcManager().startWorker(disorderClient); do { @@ -106,7 +155,7 @@ public class DisorderAnnotExportImport AlignmentI orig_alig = af.getViewport().getAlignment(); // NOTE: Consensus annotation row cannot be exported and reimported // faithfully - so we remove them - List toremove = new ArrayList(); + List toremove = new ArrayList<>(); for (AlignmentAnnotation aa : orig_alig.getAlignmentAnnotation()) { if (aa.autoCalculated) @@ -118,50 +167,44 @@ public class DisorderAnnotExportImport { orig_alig.deleteAnnotation(aa); } - testAnnotationFileIO("Testing IUPred Annotation IO", orig_alig); + checkAnnotationFileIO("Testing IUPred Annotation IO", orig_alig); } - public static void testAnnotationFileIO(String testname, AlignmentI al) + static void checkAnnotationFileIO(String testname, AlignmentI al) { try { - String aligfileout = new FormatAdapter().formatSequences("PFAM", - al.getSequencesArray()); + String aligfileout = FileFormat.Pfam.getWriter(al) + .print(al.getSequencesArray(), true); String anfileout = new AnnotationFile() .printAnnotationsForAlignment(al); - assertTrue( - "Test " - + testname - + "\nAlignment annotation file was not regenerated. Null string", + assertTrue("Test " + testname + + "\nAlignment annotation file was not regenerated. Null string", anfileout != null); - assertTrue( - "Test " - + testname - + "\nAlignment annotation file was not regenerated. Empty string", + assertTrue("Test " + testname + + "\nAlignment annotation file was not regenerated. Empty string", anfileout.length() > "JALVIEW_ANNOTATION".length()); - System.out.println("Output annotation file:\n" + anfileout - + "\n<