Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /** * Copyright Magento, Inc. All rights reserved. * See COPYING.txt for license ..
Decoded Output download
<?php
/**
* Copyright Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Captcha\Test\Unit\Cron;
use Magento\Captcha\Cron\DeleteExpiredImages;
use Magento\Captcha\Helper\Data;
use Magento\Framework\Filesystem;
use Magento\Framework\Filesystem\Directory\Write;
use Magento\Framework\Filesystem\Directory\WriteInterface;
use Magento\Store\Model\Store;
use Magento\Store\Model\StoreManager;
use Magento\Store\Model\Website;
use PHPUnit\Framework\Constraint\IsIdentical;
use PHPUnit\Framework\Constraint\IsNull;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
class DeleteExpiredImagesTest extends TestCase
{
/**
* CAPTCHA helper
*
* @var Data|MockObject
*/
protected $_helper;
/**
* CAPTCHA helper
*
* @var \Magento\Captcha\Helper\Adminhtml\Data|MockObject
*/
protected $_adminHelper;
/**
* @var Filesystem|MockObject
*/
protected $_filesystem;
/**
* @var StoreManager|MockObject
*/
protected $_storeManager;
/**
* @var DeleteExpiredImages
*/
protected $_deleteExpiredImages;
/**
* @var WriteInterface|MockObject
*/
protected $_directory;
/**
* @var int
*/
public static $currentTime;
/**
* Create mocks and model
*/
protected function setUp(): void
{
$this->_helper = $this->createMock(Data::class);
$this->_adminHelper = $this->createMock(\Magento\Captcha\Helper\Adminhtml\Data::class);
$this->_filesystem = $this->createMock(Filesystem::class);
$this->_directory = $this->createMock(Write::class);
$this->_storeManager = $this->createMock(StoreManager::class);
$this->_filesystem->expects(
$this->once()
)->method(
'getDirectoryWrite'
)->willReturn(
$this->_directory
);
$this->_deleteExpiredImages = new DeleteExpiredImages(
$this->_helper,
$this->_adminHelper,
$this->_filesystem,
$this->_storeManager
);
}
/**
* @dataProvider getExpiredImages
*/
public function testDeleteExpiredImages($website, $isFile, $filename, $mTime, $timeout)
{
$this->_storeManager->expects(
$this->once()
)->method(
'getWebsites'
)->willReturn(
isset($website) ? [$website] : []
);
if (isset($website)) {
$this->_helper->expects(
$this->once()
)->method(
'getConfig'
)->with(
'timeout',
new IsIdentical($website->getDefaultStore())
)->willReturn(
$timeout
);
} else {
$this->_helper->expects($this->never())->method('getConfig');
}
$this->_adminHelper->expects(
$this->once()
)->method(
'getConfig'
)->with(
'timeout',
new IsNull()
)->willReturn(
$timeout
);
$timesToCall = isset($website) ? 2 : 1;
$this->_directory->expects(
$this->exactly($timesToCall)
)->method(
'read'
)->willReturn(
[$filename]
);
$this->_directory->expects($this->exactly($timesToCall))->method('isFile')->willReturn($isFile);
$this->_directory->expects($this->any())->method('stat')->willReturn(['mtime' => $mTime]);
$this->_deleteExpiredImages->execute();
}
/**
* @return array
*/
public function getExpiredImages()
{
$website = $this->createPartialMock(Website::class, ['__wakeup', 'getDefaultStore']);
$store = $this->createPartialMock(Store::class, ['__wakeup']);
$website->expects($this->any())->method('getDefaultStore')->willReturn($store);
$time = time();
return [
[null, true, 'test.png', 50, ($time - 60) / 60, true],
[$website, false, 'test.png', 50, ($time - 60) / 60, false],
[$website, true, 'test.jpg', 50, ($time - 60) / 60, false],
[$website, true, 'test.png', 50, ($time - 20) / 60, false]
];
}
}
/**
* Fix current time
*
* @return int
*/
function time()
{
if (!isset(DeleteExpiredImagesTest::$currentTime)) {
DeleteExpiredImagesTest::$currentTime = \time();
}
return DeleteExpiredImagesTest::$currentTime;
}
?>
Did this file decode correctly?
Original Code
<?php
/**
* Copyright Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Captcha\Test\Unit\Cron;
use Magento\Captcha\Cron\DeleteExpiredImages;
use Magento\Captcha\Helper\Data;
use Magento\Framework\Filesystem;
use Magento\Framework\Filesystem\Directory\Write;
use Magento\Framework\Filesystem\Directory\WriteInterface;
use Magento\Store\Model\Store;
use Magento\Store\Model\StoreManager;
use Magento\Store\Model\Website;
use PHPUnit\Framework\Constraint\IsIdentical;
use PHPUnit\Framework\Constraint\IsNull;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
class DeleteExpiredImagesTest extends TestCase
{
/**
* CAPTCHA helper
*
* @var Data|MockObject
*/
protected $_helper;
/**
* CAPTCHA helper
*
* @var \Magento\Captcha\Helper\Adminhtml\Data|MockObject
*/
protected $_adminHelper;
/**
* @var Filesystem|MockObject
*/
protected $_filesystem;
/**
* @var StoreManager|MockObject
*/
protected $_storeManager;
/**
* @var DeleteExpiredImages
*/
protected $_deleteExpiredImages;
/**
* @var WriteInterface|MockObject
*/
protected $_directory;
/**
* @var int
*/
public static $currentTime;
/**
* Create mocks and model
*/
protected function setUp(): void
{
$this->_helper = $this->createMock(Data::class);
$this->_adminHelper = $this->createMock(\Magento\Captcha\Helper\Adminhtml\Data::class);
$this->_filesystem = $this->createMock(Filesystem::class);
$this->_directory = $this->createMock(Write::class);
$this->_storeManager = $this->createMock(StoreManager::class);
$this->_filesystem->expects(
$this->once()
)->method(
'getDirectoryWrite'
)->willReturn(
$this->_directory
);
$this->_deleteExpiredImages = new DeleteExpiredImages(
$this->_helper,
$this->_adminHelper,
$this->_filesystem,
$this->_storeManager
);
}
/**
* @dataProvider getExpiredImages
*/
public function testDeleteExpiredImages($website, $isFile, $filename, $mTime, $timeout)
{
$this->_storeManager->expects(
$this->once()
)->method(
'getWebsites'
)->willReturn(
isset($website) ? [$website] : []
);
if (isset($website)) {
$this->_helper->expects(
$this->once()
)->method(
'getConfig'
)->with(
'timeout',
new IsIdentical($website->getDefaultStore())
)->willReturn(
$timeout
);
} else {
$this->_helper->expects($this->never())->method('getConfig');
}
$this->_adminHelper->expects(
$this->once()
)->method(
'getConfig'
)->with(
'timeout',
new IsNull()
)->willReturn(
$timeout
);
$timesToCall = isset($website) ? 2 : 1;
$this->_directory->expects(
$this->exactly($timesToCall)
)->method(
'read'
)->willReturn(
[$filename]
);
$this->_directory->expects($this->exactly($timesToCall))->method('isFile')->willReturn($isFile);
$this->_directory->expects($this->any())->method('stat')->willReturn(['mtime' => $mTime]);
$this->_deleteExpiredImages->execute();
}
/**
* @return array
*/
public function getExpiredImages()
{
$website = $this->createPartialMock(Website::class, ['__wakeup', 'getDefaultStore']);
$store = $this->createPartialMock(Store::class, ['__wakeup']);
$website->expects($this->any())->method('getDefaultStore')->willReturn($store);
$time = time();
return [
[null, true, 'test.png', 50, ($time - 60) / 60, true],
[$website, false, 'test.png', 50, ($time - 60) / 60, false],
[$website, true, 'test.jpg', 50, ($time - 60) / 60, false],
[$website, true, 'test.png', 50, ($time - 20) / 60, false]
];
}
}
/**
* Fix current time
*
* @return int
*/
function time()
{
if (!isset(DeleteExpiredImagesTest::$currentTime)) {
DeleteExpiredImagesTest::$currentTime = \time();
}
return DeleteExpiredImagesTest::$currentTime;
}
Function Calls
None |
Stats
MD5 | c617290351e854233929c24f413c40d2 |
Eval Count | 0 |
Decode Time | 108 ms |