2929import org .labkey .api .data .Table ;
3030import org .labkey .api .data .TableInfo ;
3131import org .labkey .api .data .TableSelector ;
32+ import org .labkey .api .data .WorkbookContainerType ;
3233import org .labkey .api .exp .api .DataType ;
3334import org .labkey .api .exp .api .ExpData ;
3435import org .labkey .api .exp .api .ExperimentService ;
@@ -490,7 +491,7 @@ public boolean accept(File dir, String name)
490491 Assert .assertEquals ("Incorrect number of outputs created" , expectedOutputs .size (), files .size ());
491492 }
492493
493- protected Set <PipelineJob > createPipelineJob (String jobName , JSONObject config , SequenceAnalysisController .AnalyzeForm .TYPE type ) throws Exception
494+ protected Set <PipelineJob > createPipelineJob (String jobName , JSONObject config , SequenceAnalysisController .AnalyzeForm .TYPE type , boolean createNewWorkbook ) throws Exception
494495 {
495496 Map <String , Object > headers = new HashMap <>();
496497 headers .put ("Content-Type" , "application/json" );
@@ -503,7 +504,13 @@ protected Set<PipelineJob> createPipelineJob(String jobName, JSONObject config,
503504 json .put ("type" , type .name ());
504505 String requestContent = json .toString ();
505506
506- HttpServletRequest request = ViewServlet .mockRequest (RequestMethod .POST .name (), DetailsURL .fromString ("/sequenceanalysis/startPipelineJob.view" ).copy (_project ).getActionURL (), _context .getUser (), headers , requestContent );
507+ Container pipelineJobContainer = _project ;
508+ if (createNewWorkbook )
509+ {
510+ pipelineJobContainer = ContainerManager .createContainer (_project , null , "Workbook: " + jobName , null , WorkbookContainerType .NAME , TestContext .get ().getUser ());
511+ }
512+
513+ HttpServletRequest request = ViewServlet .mockRequest (RequestMethod .POST .name (), DetailsURL .fromString ("/sequenceanalysis/startPipelineJob.view" ).copy (pipelineJobContainer ).getActionURL (), _context .getUser (), headers , requestContent );
507514
508515 MockHttpServletResponse response = ViewServlet .mockDispatch (request , null );
509516 JSONObject responseJson = new JSONObject (response .getContentAsString ());
@@ -783,7 +790,7 @@ public void basicTest() throws Exception
783790
784791 appendSamplesForImport (config , List .of (g ));
785792
786- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport );
793+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport , true );
787794 waitForJobs (jobs );
788795
789796 Set <File > expectedOutputs = new HashSet <>();
@@ -828,7 +835,7 @@ public void leaveInPlaceTest() throws Exception
828835 appendSamplesForImport (config , List .of (g ));
829836 config .put ("inputFileTreatment" , "leaveInPlace" );
830837
831- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport );
838+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport , false );
832839 waitForJobs (jobs );
833840
834841 Set <File > expectedOutputs = new HashSet <>();
@@ -906,7 +913,7 @@ private void runMergePipelineJob(String jobName, boolean deleteIntermediates, St
906913 config .put ("inputfile.runFastqc" , true );
907914 appendSamplesForImport (config , Arrays .asList (g , g2 , g3 ));
908915
909- Set <PipelineJob > jobsUnsorted = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport );
916+ Set <PipelineJob > jobsUnsorted = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport , true );
910917 waitForJobs (jobsUnsorted );
911918
912919 List <PipelineJob > jobs = new ArrayList <>(jobsUnsorted );
@@ -1117,7 +1124,7 @@ public void barcodeTest() throws Exception
11171124 String [] fileNames = new String []{DUAL_BARCODE_FILENAME };
11181125
11191126 JSONObject config = getBarcodeConfig (jobName , fileNames , prefix );
1120- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport );
1127+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport , true );
11211128 waitForJobs (jobs );
11221129
11231130 File basedir = getBaseDir (jobs .iterator ().next ());
@@ -1166,7 +1173,7 @@ public void barcodeTestDeletingIntermediates() throws Exception
11661173 config .put ("deleteIntermediateFiles" , true );
11671174 config .put ("inputFileTreatment" , "compress" );
11681175
1169- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport );
1176+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport , true );
11701177 waitForJobs (jobs );
11711178
11721179 File basedir = getBaseDir (jobs .iterator ().next ());
@@ -1227,7 +1234,7 @@ public void pairedEndTest() throws Exception
12271234
12281235 appendSamplesForImport (config , List .of (g ));
12291236
1230- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport );
1237+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport , true );
12311238 waitForJobs (jobs );
12321239
12331240 Set <File > expectedOutputs = new HashSet <>();
@@ -1281,7 +1288,7 @@ public void pairedEndTestMovingInputs() throws Exception
12811288
12821289 appendSamplesForImport (config , List .of (g ));
12831290
1284- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport );
1291+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport , false );
12851292 waitForJobs (jobs );
12861293
12871294 Set <File > expectedOutputs = new HashSet <>();
@@ -1337,7 +1344,7 @@ public void pairedEndTestDeletingInputs() throws Exception
13371344
13381345 appendSamplesForImport (config , List .of (g ));
13391346
1340- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport );
1347+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .readsetImport , true );
13411348 waitForJobs (jobs );
13421349
13431350 Set <File > expectedOutputs = new HashSet <>();
@@ -1834,7 +1841,7 @@ public void testMosaik() throws Exception
18341841
18351842 appendSamplesForAlignment (config , _readsets );
18361843
1837- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
1844+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
18381845 waitForJobs (jobs );
18391846
18401847 validateInputs ();
@@ -1882,7 +1889,7 @@ public void testMosaikWithBamPostProcessing() throws Exception
18821889
18831890 appendSamplesForAlignment (config , _readsets );
18841891
1885- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
1892+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
18861893 waitForJobs (jobs );
18871894
18881895 List <String > extraFiles = new ArrayList <>();
@@ -1981,7 +1988,7 @@ public void testMosaikWithBamPostProcessingAndDelete() throws Exception
19811988
19821989 appendSamplesForAlignment (config , _readsets );
19831990
1984- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
1991+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , false );
19851992 waitForJobs (jobs );
19861993
19871994 Set <String > extraFiles = new HashSet <>();
@@ -2040,7 +2047,7 @@ public void testMosaikDeletingIntermediates() throws Exception
20402047 config .put ("deleteIntermediateFiles" , true );
20412048 appendSamplesForAlignment (config , _readsets );
20422049
2043- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2050+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
20442051 waitForJobs (jobs );
20452052
20462053 Set <String > extraFiles = new HashSet <>();
@@ -2094,7 +2101,7 @@ public void testBWASW() throws Exception
20942101 config .put ("alignment" , "BWA-SW" );
20952102 appendSamplesForAlignment (config , _readsets );
20962103
2097- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2104+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
20982105 waitForJobs (jobs );
20992106
21002107 Set <String > extraFiles = new HashSet <>();
@@ -2158,7 +2165,7 @@ public void testBWAMem() throws Exception
21582165 config .put ("alignment" , "BWA-Mem" );
21592166 appendSamplesForAlignment (config , _readsets );
21602167
2161- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2168+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
21622169 waitForJobs (jobs );
21632170
21642171 Set <String > extraFiles = new HashSet <>();
@@ -2226,7 +2233,7 @@ public void testBWAWithAdapters() throws Exception
22262233
22272234 appendSamplesForAlignment (config , _readsets );
22282235
2229- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2236+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
22302237 waitForJobs (jobs );
22312238
22322239 Set <String > extraFiles = new HashSet <>();
@@ -2327,7 +2334,7 @@ public void testBWA() throws Exception
23272334 config .put ("alignment" , "BWA" );
23282335 appendSamplesForAlignment (config , _readsets );
23292336
2330- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2337+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
23312338 waitForJobs (jobs );
23322339
23332340 Set <String > extraFiles = new HashSet <>();
@@ -2397,7 +2404,7 @@ public void testBowtie() throws Exception
23972404 config .put ("alignment" , "Bowtie" );
23982405 appendSamplesForAlignment (config , _readsets );
23992406
2400- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2407+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
24012408 waitForJobs (jobs );
24022409
24032410 Set <String > extraFiles = new HashSet <>();
@@ -2468,7 +2475,7 @@ public void testBowtieDeletingIntermediates() throws Exception
24682475 config .put ("deleteIntermediateFiles" , true );
24692476 appendSamplesForAlignment (config , _readsets );
24702477
2471- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2478+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
24722479 waitForJobs (jobs );
24732480
24742481 Set <String > extraFiles = new HashSet <>();
@@ -2538,7 +2545,7 @@ public void testBwaMemWithSavedLibrary() throws Exception
25382545 config .put ("referenceLibraryCreation.SavedLibrary.libraryId" , libraryId );
25392546 appendSamplesForAlignment (config , Collections .singletonList (_readsets .get (0 )));
25402547
2541- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2548+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
25422549 waitForJobs (jobs );
25432550
25442551 //we expect the index to get copied back to the reference library location
@@ -2619,7 +2626,7 @@ public void testBwaMemWithSavedLibrary2() throws Exception
26192626 config .put ("referenceLibraryCreation.SavedLibrary.libraryId" , libraryId );
26202627 appendSamplesForAlignment (config , _readsets );
26212628
2622- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2629+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , false );
26232630 waitForJobs (jobs );
26242631
26252632 Set <String > extraFiles = new HashSet <>();
@@ -2697,7 +2704,7 @@ public void testMergedAlignments() throws Exception
26972704
26982705 appendSamplesForAlignment (config , models );
26992706
2700- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2707+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
27012708 waitForJobs (jobs );
27022709
27032710 Set <String > extraFiles = new HashSet <>();
@@ -2749,7 +2756,7 @@ public void testBowtie2() throws Exception
27492756 config .put ("alignment" , "Bowtie2" );
27502757 appendSamplesForAlignment (config , _readsets );
27512758
2752- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2759+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
27532760 waitForJobs (jobs );
27542761
27552762 Set <String > extraFiles = new HashSet <>();
@@ -2849,7 +2856,7 @@ public void testStar() throws Exception
28492856 config .put ("alignment" , "STAR" );
28502857 appendSamplesForAlignment (config , _readsets );
28512858
2852- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2859+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
28532860 waitForJobs (jobs );
28542861
28552862 Set <String > extraFiles = new HashSet <>();
@@ -2939,7 +2946,7 @@ public void testBismarkWithSavedLibraryAndAdapters() throws Exception
29392946 config .put ("fastqProcessing.AdapterTrimming.adapters" , "[[\" Nextera Transposon Adapter A\" ,\" AGATGTGTATAAGAGACAG\" ,true,true]]" );
29402947 appendSamplesForAlignment (config , _readsets );
29412948
2942- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
2949+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
29432950 waitForJobs (jobs );
29442951
29452952 //we expect the index to get copied back to the reference library location
@@ -3091,7 +3098,7 @@ public void testBismarkWithSavedLibraryAdaptersAndDelete() throws Exception
30913098 config .put ("fastqProcessing.AdapterTrimming.adapters" , "[[\" Nextera Transposon Adapter A\" ,\" AGATGTGTATAAGAGACAG\" ,true,true]]" );
30923099 appendSamplesForAlignment (config , _readsets );
30933100
3094- Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment );
3101+ Set <PipelineJob > jobs = createPipelineJob (jobName , config , SequenceAnalysisController .AnalyzeForm .TYPE .alignment , true );
30953102 waitForJobs (jobs );
30963103
30973104 Set <String > extraFiles = new HashSet <>();
0 commit comments