@@ -318,4 +318,36 @@ assert.equal(fallbackExecution.exitCode, 0)
318318assert . equal ( fallbackResult . status , "passed" )
319319assert . deepEqual ( executed . map ( ( spec ) => spec . command ) , [ "wordpress.run-php" , "wordpress.run-php" ] )
320320
321+ executed . length = 0
322+ const collectableFuzzSuiteWorkload : WorkspaceRecipe = {
323+ schema : "wp-codebox/workspace-recipe/v1" ,
324+ workflow : {
325+ steps : [ { command : "wordpress.run-workload" , args : [ `workload-json=${ JSON . stringify ( {
326+ schema : "wp-codebox/wordpress-workload-run/v1" ,
327+ steps : [ { command : "wp-codebox/run-fuzz-suite" , args : [ `input-json=${ JSON . stringify ( suite ) } ` ] } ] ,
328+ after : [
329+ { command : "wordpress.collect-workload-result" , args : [ "artifact=wp-codebox-fuzz-suite-result" ] } ,
330+ { command : "wordpress.collect-workload-result" , args : [ "artifact=case-log" ] } ,
331+ { command : "wordpress.collect-workload-result" , args : [ "artifact=coverage-summary" ] } ,
332+ { command : "wordpress.collect-workload-result" , args : [ "artifact=result-envelope" ] } ,
333+ { command : "wordpress.collect-workload-result" , args : [ "artifact=replay-data" ] } ,
334+ ] ,
335+ } ) } `] } ] ,
336+ } ,
337+ }
338+ assertWorkspaceRecipeJsonSchema ( collectableFuzzSuiteWorkload , { recipeCommandIds : [ "wordpress.run-workload" , "wp-codebox/run-fuzz-suite" , "wordpress.run-php" , "wordpress.collect-workload-result" ] } )
339+ const collectableFuzzSuiteExecution = await executeRecipeWorkflowStep ( runtime , { phase : "steps" , index : 0 , step : collectableFuzzSuiteWorkload . workflow . steps [ 0 ] ! } , process . cwd ( ) )
340+ const collectableFuzzSuiteResult = JSON . parse ( collectableFuzzSuiteExecution . stdout )
341+ assert . equal ( collectableFuzzSuiteExecution . exitCode , 0 )
342+ assert . equal ( collectableFuzzSuiteResult . steps , 6 )
343+ for ( const artifact of [ "wp-codebox-fuzz-suite-result" , "case-log" , "coverage-summary" , "result-envelope" , "replay-data" ] ) {
344+ const payload = collectableFuzzSuiteResult . artifacts [ artifact ]
345+ assert . equal ( payload . schema , "wp-codebox/fuzz-suite-result/v1" )
346+ assert . equal ( payload . status , "passed" )
347+ assert . equal ( payload . cases [ 0 ] . id , "case-one" )
348+ }
349+ assert . equal ( collectableFuzzSuiteResult . artifacts [ "coverage-summary" ] . coverageSummary . executed , 1 )
350+ assert . equal ( collectableFuzzSuiteResult . artifacts [ "replay-data" ] . cases [ 0 ] . metadata . replay . caseId , "case-one" )
351+ assert . deepEqual ( executed . map ( ( spec ) => spec . command ) , [ "wordpress.run-php" ] )
352+
321353console . log ( "nested fuzz suite recipe command ok" )
0 commit comments