123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Migration\Logger;
- class ManagerTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var Manager
- */
- protected $manager;
- /**
- * @var Logger|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $logger;
- /**
- * @var ConsoleHandler|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $consoleHandler;
- /**
- * @var \Migration\Logger\FileHandler|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $fileHandler;
- /**
- * @var \Migration\Logger\MessageFormatter|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $messageFormatter;
- /**
- * @var \Migration\Logger\MessageProcessor|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $messageProcessor;
- /**
- * @return void
- */
- protected function setUp()
- {
- $this->logger = $this->createPartialMock(
- \Migration\Logger\Logger::class,
- ['pushHandler', 'pushProcessor', 'error']
- );
- $this->consoleHandler = $this->createPartialMock(
- \Migration\Logger\ConsoleHandler::class,
- ['setLevel', 'setFormatter']
- );
- $this->fileHandler = $this->createPartialMock(
- \Migration\Logger\FileHandler::class,
- ['setLevel', 'setFormatter']
- );
- $this->messageFormatter = $this->createMock(\Migration\Logger\MessageFormatter::class);
- $this->messageProcessor = $this->createMock(\Migration\Logger\MessageProcessor::class);
- $this->manager = new Manager(
- $this->logger,
- $this->consoleHandler,
- $this->fileHandler,
- $this->messageFormatter,
- $this->messageProcessor
- );
- }
- /**
- * @return array
- */
- public function dataProviderProcessSuccess()
- {
- return [
- ['logLevel' => 'info', 'logLevelCode' => 200],
- ['logLevel' => 'debug', 'logLevelCode' => 100],
- ['logLevel' => 'ERROR', 'logLevelCode' => 400],
- ['logLevel' => 'InFo', 'logLevelCode' => 200],
- ['logLevel' => 'Debug', 'logLevelCode' => 100],
- ];
- }
- /**
- * @param string $logLevel
- * @param int $logLevelCode
- * @dataProvider dataProviderProcessSuccess
- * @return void
- */
- public function testProcessSuccess($logLevel, $logLevelCode)
- {
- $this->logger->expects($this->any())->method('pushHandler')->willReturnSelf();
- $this->logger->expects($this->once())->method('pushProcessor')->with([$this->messageProcessor, 'setExtra'])
- ->willReturnSelf();
- $this->consoleHandler->expects($this->once())->method('setLevel')->willReturnSelf($logLevelCode);
- $this->consoleHandler->expects($this->once())->method('setFormatter')->with($this->messageFormatter)
- ->willReturnSelf();
- $this->fileHandler->expects($this->once())->method('setLevel')->willReturnSelf();
- $this->fileHandler->expects($this->once())->method('setFormatter')->with($this->messageFormatter)
- ->willReturnSelf();
- $this->manager->process($logLevel);
- }
- /**
- * @return array
- */
- public function dataProviderProcessInvalidLevel()
- {
- return [
- ['logLevel' => 'invalid'],
- ['logLevel' => 200]
- ];
- }
- /**
- * @param string $logLevel
- * @dataProvider dataProviderProcessInvalidLevel
- * @return void
- */
- public function testProcessInvalidLevel($logLevel)
- {
- $this->expectException(\Migration\Exception::class);
- $this->expectExceptionMessage("Invalid log level '$logLevel' provided.");
- $this->manager->process($logLevel);
- }
- }
|