![]() 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/framework/Cache/Test/Unit/Frontend/Decorator/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Framework\Cache\Test\Unit\Frontend\Decorator; use Magento\Framework\Cache\Frontend\Adapter\Zend; use Magento\Framework\Cache\FrontendInterface; use Magento\Framework\Profiler; use Magento\Framework\Profiler\DriverInterface; use Magento\Framework\TestFramework\Unit\Helper\ProxyTesting; use PHPUnit\Framework\TestCase; class ProfilerTest extends TestCase { protected function setUp(): void { Profiler::enable(); } protected function tearDown(): void { Profiler::reset(); } /** * @param string $method * @param array $params * @param \Zend_Cache_Backend $cacheBackend * @param \Zend_Cache_Core $cacheFrontend * @param string $expectedProfileId * @param array $expectedProfilerTags * @param mixed $expectedResult * @dataProvider proxyMethodDataProvider */ public function testProxyMethod( $method, $params, $cacheBackend, $cacheFrontend, $expectedProfileId, $expectedProfilerTags, $expectedResult ) { // Cache frontend setup $frontendMock = $this->getMockForAbstractClass(FrontendInterface::class); $frontendMock->expects($this->any())->method('getBackend')->willReturn($cacheBackend); $frontendMock->expects($this->any())->method('getLowLevelFrontend')->willReturn($cacheFrontend); // Profiler setup $driver = $this->getMockForAbstractClass(DriverInterface::class); $driver->expects($this->once())->method('start')->with($expectedProfileId, $expectedProfilerTags); $driver->expects($this->once())->method('stop')->with($expectedProfileId); Profiler::add($driver); // Test $object = new \Magento\Framework\Cache\Frontend\Decorator\Profiler($frontendMock, ['Zend_Cache_Backend_']); $helper = new ProxyTesting(); $result = $helper->invokeWithExpectations($object, $frontendMock, $method, $params, $expectedResult); $this->assertSame($expectedResult, $result); } /** * @return array */ public function proxyMethodDataProvider() { $backend = new \Zend_Cache_Backend_BlackHole(); $adaptee = $this->createMock(\Zend_Cache_Core::class); $frontendFactory = function () use ($adaptee) { return $adaptee; }; $lowLevelFrontend = new Zend($frontendFactory); return [ [ 'test', ['record_id'], $backend, $lowLevelFrontend, 'cache_test', [ 'group' => 'cache', 'operation' => 'cache:test', 'frontend_type' => Zend::class, 'backend_type' => 'BlackHole' ], 111, ], [ 'load', ['record_id'], $backend, $lowLevelFrontend, 'cache_load', [ 'group' => 'cache', 'operation' => 'cache:load', 'frontend_type' => Zend::class, 'backend_type' => 'BlackHole' ], '111' ], [ 'save', ['record_value', 'record_id', ['tag'], 555], $backend, $lowLevelFrontend, 'cache_save', [ 'group' => 'cache', 'operation' => 'cache:save', 'frontend_type' => Zend::class, 'backend_type' => 'BlackHole' ], true ], [ 'remove', ['record_id'], $backend, $lowLevelFrontend, 'cache_remove', [ 'group' => 'cache', 'operation' => 'cache:remove', 'frontend_type' => Zend::class, 'backend_type' => 'BlackHole' ], true ], [ 'clean', [\Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG, ['tag']], $backend, $lowLevelFrontend, 'cache_clean', [ 'group' => 'cache', 'operation' => 'cache:clean', 'frontend_type' => Zend::class, 'backend_type' => 'BlackHole' ], true ] ]; } }