![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-cron/Test/Unit/Model/Config/Converter/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Cron\Test\Unit\Model\Config\Converter; use Magento\Cron\Model\Config\Converter\Db; use PHPUnit\Framework\TestCase; class DbTest extends TestCase { /** * @var Db */ protected $_converter; /** * Prepare parameters */ protected function setUp(): void { $this->_converter = new Db(); } /** * Testing not existed list of jobs */ public function testConvertNoJobs() { $source = []; $result = $this->_converter->convert($source); $this->assertEmpty($result); } /** * Testing parameters in 'schedule' container */ public function testConvertConfigParams() { $fullJob = ['schedule' => ['config_path' => 'config/path', 'cron_expr' => '* * * * *']]; $nullJob = ['schedule' => ['config_path' => null, 'cron_expr' => null]]; $notFullJob = ['schedule' => '']; $source = [ 'crontab' => [ 'default' => [ 'jobs' => [ 'job_name_1' => $fullJob, 'job_name_2' => $nullJob, 'job_name_3' => $notFullJob, 'job_name_4' => [], ], ], ], ]; $expected = [ 'default' => [ 'job_name_1' => ['config_path' => 'config/path', 'schedule' => '* * * * *'], 'job_name_2' => ['config_path' => null, 'schedule' => null], 'job_name_3' => ['schedule' => ''], 'job_name_4' => [''], ], ]; $result = $this->_converter->convert($source); $this->assertEquals( $expected['default']['job_name_1']['config_path'], $result['default']['job_name_1']['config_path'] ); $this->assertEquals( $expected['default']['job_name_1']['schedule'], $result['default']['job_name_1']['schedule'] ); $this->assertEquals( $expected['default']['job_name_2']['config_path'], $result['default']['job_name_2']['config_path'] ); $this->assertEquals( $expected['default']['job_name_2']['schedule'], $result['default']['job_name_2']['schedule'] ); $this->assertArrayHasKey('schedule', $result['default']['job_name_3']); $this->assertEmpty($result['default']['job_name_3']['schedule']); $this->assertEmpty($result['default']['job_name_4']); } /** * Testing 'run' container */ public function testConvertRunConfig() { $runFullJob = ['run' => ['model' => 'Model1::method1']]; $runNoMethodJob = ['run' => ['model' => 'Model2']]; $runEmptyMethodJob = ['run' => ['model' => 'Model3::']]; $runNoModelJob = ['run' => ['model' => '::method1']]; $source = [ 'crontab' => [ 'default' => [ 'jobs' => [ 'job_name_1' => $runFullJob, 'job_name_2' => $runNoMethodJob, 'job_name_3' => $runEmptyMethodJob, 'job_name_4' => $runNoModelJob, ], ], ], ]; $expected = [ 'default' => [ 'job_name_1' => ['instance' => 'Model1', 'method' => 'method1'], 'job_name_2' => [], 'job_name_3' => [], 'job_name_4' => [], ], ]; $result = $this->_converter->convert($source); $this->assertEquals( $expected['default']['job_name_1']['instance'], $result['default']['job_name_1']['instance'] ); $this->assertEquals($expected['default']['job_name_1']['method'], $result['default']['job_name_1']['method']); $this->assertEmpty($result['default']['job_name_2']); $this->assertEmpty($result['default']['job_name_3']); $this->assertEmpty($result['default']['job_name_4']); } }