/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Logger/Test/Unit/LoggerProxyTest.php
151 строка
4 KB
Raj Mohan R
AC-16236::Upgrade Core Test Framework to PHPUnit 12 and Migrate from PHPUnit 10
11 фев 2026, 13:51
11 фев 2026, 13:51
152ed41
Код
Авторство
О чём код?
<?php /** * Copyright 2020 Adobe * All Rights Reserved. */ declare(strict_types=1); namespace Magento\Framework\Logger\Test\Unit; use Magento\Framework\App\DeploymentConfig; use Magento\Framework\Logger\LoggerProxy; use Magento\Framework\Logger\Monolog; use Magento\Framework\ObjectManagerInterface; use PHPUnit\Framework\TestCase; use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\Test; use Psr\Log\LoggerInterface; use Psr\Log\LogLevel; class LoggerProxyTest extends TestCase { /** * @return array */ public static function methodsList(): array { return [ [LogLevel::EMERGENCY], [LogLevel::ALERT], [LogLevel::CRITICAL], [LogLevel::ERROR], [LogLevel::WARNING], [LogLevel::NOTICE], [LogLevel::INFO], [LogLevel::DEBUG] ]; } /** * @param string $method * @return void */ #[Test] #[DataProvider('methodsList')] public function logMessage($method): void { $deploymentConfig = $this->getMockBuilder(DeploymentConfig::class) ->disableOriginalConstructor() ->getMock(); $objectManager = $this->createMock(ObjectManagerInterface::class); $logger = $this->createMock(LoggerInterface::class); $objectManager ->method('get') ->willReturnCallback( function ($arg1) use ($deploymentConfig, $logger) { if ($arg1 == DeploymentConfig::class) { return $deploymentConfig; } elseif ($arg1 == Monolog::class) { return $logger; } } ); $logger->expects($this->once())->method($method)->with('test'); $loggerProxy = new LoggerProxy($objectManager); $loggerProxy->$method('test'); } /** * @return void */ #[Test] public function createWithArguments(): void { $deploymentConfig = $this->getMockBuilder(DeploymentConfig::class) ->disableOriginalConstructor() ->getMock(); $objectManager = $this->createMock(ObjectManagerInterface::class); $logger = $this->createMock(LoggerInterface::class); $args = ['name' => 'test']; $deploymentConfig ->method('get') ->willReturnCallback( function ($arg1) use ($args) { if (empty($arg1)) { return null; } elseif ($arg1 == 'log/args') { return $args; } } ); $objectManager ->method('get') ->willReturnCallback( function ($arg1) use ($deploymentConfig) { if ($arg1 == DeploymentConfig::class) { return $deploymentConfig; } } ); $objectManager->expects($this->once()) ->method('create') ->with(Monolog::class, $args) ->willReturn($logger); $logger->expects($this->once())->method('log')->with(LogLevel::ALERT, 'test'); $loggerProxy = new LoggerProxy($objectManager); $loggerProxy->log(LogLevel::ALERT, 'test'); } /** * @param string $method * @return void */ #[Test] #[DataProvider('methodsList')] public function logException($method): void { $deploymentConfig = $this->getMockBuilder(DeploymentConfig::class) ->disableOriginalConstructor() ->getMock(); $objectManager = $this->createMock(ObjectManagerInterface::class); $logger = $this->createMock(LoggerInterface::class); $objectManager ->method('get') ->willReturnCallback( function ($arg1) use ($deploymentConfig, $logger) { if ($arg1 == DeploymentConfig::class) { return $deploymentConfig; } elseif ($arg1 == Monolog::class) { return $logger; } } ); $message = new \Exception('This is an exception.'); $logger->expects($this->once())->method($method)->with($message); $loggerProxy = new LoggerProxy($objectManager); $loggerProxy->$method($message); } }