PMCORE-2194 Migrate to queue job - Cron File: ldapcron.php

This commit is contained in:
Roly Rudy Gutierrez Pinto
2020-09-25 18:29:10 -04:00
committed by Julio Cesar Laura Avendaño
parent 971de1fc81
commit 0020d75ca3
3 changed files with 47 additions and 7 deletions

View File

@@ -357,7 +357,7 @@ class TaskTest extends TestCase
ob_start(); ob_start();
$task->fillReportByProcess($dateInit, $dateFinish); $task->fillReportByProcess($dateInit, $dateFinish);
$printing = ob_get_clean(); $printing = ob_get_clean();
$this->assertRegExp("/User Reporting/", $printing); $this->assertRegExp("/Process Reporting/", $printing);
} }
//assert asynchronous for job process //assert asynchronous for job process
@@ -368,4 +368,32 @@ class TaskTest extends TestCase
Queue::assertPushed(TaskScheduler::class); Queue::assertPushed(TaskScheduler::class);
} }
} }
/**
* This test verify the ldapcron activity method for synchronous and asynchronous execution.
* @test
* @covers ProcessMaker\TaskScheduler\Task::runTask()
* @covers ProcessMaker\TaskScheduler\Task::ldapcron()
* @dataProvider asynchronousCases
*/
public function it_should_test_ldapcron_method($asynchronous)
{
$task = new Task($asynchronous, '');
//assert synchronous for cron file
if ($asynchronous === false) {
ob_start();
$task->ldapcron(false);
$printing = ob_get_clean();
$this->assertRegExp("/\+---/", $printing);
}
//assert asynchronous for job process
if ($asynchronous === true) {
Queue::fake();
Queue::assertNothingPushed();
$task->ldapcron(false);
Queue::assertPushed(TaskScheduler::class);
}
}
} }

View File

@@ -331,11 +331,8 @@ try {
} }
break; break;
case 'ldapcron': case 'ldapcron':
require_once(PATH_HOME . 'engine' . PATH_SEP . 'methods' . PATH_SEP . 'services' . PATH_SEP . 'ldapadvanced.php'); $task = new Task($asynchronous, $sObject);
$task->ldapcron(in_array('+debug', $argv));
$ldapadvancedClassCron = new ldapadvancedClassCron();
$ldapadvancedClassCron->executeCron(in_array('+debug', $argv));
break; break;
case 'messageeventcron': case 'messageeventcron':
$messageApplication = new \ProcessMaker\BusinessModel\MessageApplication(); $messageApplication = new \ProcessMaker\BusinessModel\MessageApplication();

View File

@@ -15,6 +15,7 @@ use Criteria;
use Exception; use Exception;
use G; use G;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
use ldapadvancedClassCron;
use ProcessMaker\Core\JobsManager; use ProcessMaker\Core\JobsManager;
use ProcessMaker\Plugins\PluginRegistry; use ProcessMaker\Plugins\PluginRegistry;
use Propel; use Propel;
@@ -453,7 +454,7 @@ class Task
} }
return false; return false;
} }
$job = function() { $job = function() use($dateInit, $dateFinish) {
try { try {
$dateFinish = ($dateFinish != null) ? $dateFinish : date("Y-m-d H:i:s"); $dateFinish = ($dateFinish != null) ? $dateFinish : date("Y-m-d H:i:s");
@@ -473,4 +474,18 @@ class Task
}; };
$this->runTask($job); $this->runTask($job);
} }
/**
* This execute ldap cron.
* @param boolean $debug
*/
public function ldapcron($debug)
{
$job = function() use($debug) {
require_once(PATH_HOME . 'engine' . PATH_SEP . 'methods' . PATH_SEP . 'services' . PATH_SEP . 'ldapadvanced.php');
$ldapadvancedClassCron = new ldapadvancedClassCron();
$ldapadvancedClassCron->executeCron($debug);
};
$this->runTask($job);
}
} }