$code,'name'=>'Artigo fictĂ­cio de concorrĂȘncia','unit'=>'UN']));$aKey=(string)Illuminate\Support\Str::uuid();$bKey=(string)Illuminate\Support\Str::uuid();$input=$catalogueInput('review',$key,1,['decision'=>'approved']);$a=$catalogueCall(12,'preview',$input,$aKey);$b=$catalogueCall(12,'preview',$input,$bKey);file_put_contents($directory.'/cuts.json',json_encode(['first'=>$a['value']['preview'],'second'=>$b['value']['preview'],'first_key'=>$aKey,'record_key'=>$key,'code'=>$code]));echo json_encode(['passed'=>true]).PHP_EOL;exit;} $cuts=json_decode(file_get_contents($directory.'/cuts.json'),true);if($mode==='first'){$host->beginTransaction();$native->beginTransaction();try{$result=$catalogueCall(12,'confirm',['preview'=>$cuts['first']]);if($result['status']!==201)throw new LogicException(json_encode($result));file_put_contents($directory.'/locked.json',json_encode($result));$end=microtime(true)+25;while(!is_file($directory.'/release')&µtime(true)<$end)usleep(50000);$native->commit();$host->commit();}finally{while($native->transactionLevel()>0)$native->rollBack();while($host->transactionLevel()>0)$host->rollBack();}exit;} if($mode==='second'){$start=microtime(true);$out=$catalogueCall(12,'confirm',['preview'=>$cuts['second']]);file_put_contents($directory.'/second.json',json_encode($out+['seconds'=>microtime(true)-$start]));echo json_encode($out).PHP_EOL;exit;} if($mode==='recover'){$actual=null;try{$out=$catalogueCall(12,'confirm',['preview'=>$cuts['second']]);$actual=$out['status'];}catch(Symfony\Component\HttpKernel\Exception\HttpExceptionInterface$e){$actual=$e->getStatusCode();}$again=$catalogueCall(12,'confirm',['preview'=>$cuts['first']]);$proof=['passed'=>$actual===409&&$again['status']===200&&$again['value']['replayed']&&$native->table('stock_items')->where('code',$cuts['code'])->count()===1&&$native->table('sc_catalogue_versions')->where('record_key',$cuts['record_key'])->count()===2,'after_release'=>$actual,'original_replay'=>$again['status'],'one_article'=>$native->table('stock_items')->where('code',$cuts['code'])->count()===1,'regression_only'=>true];file_put_contents($directory.'/recovery.json',json_encode($proof));echo json_encode($proof).PHP_EOL;}