Spaces:
No application file
No application file
namespace Mautic\ConfigBundle\Tests\Service; | |
use Mautic\ConfigBundle\Service\ConfigChangeLogger; | |
use Mautic\CoreBundle\Helper\IpLookupHelper; | |
use Mautic\CoreBundle\Model\AuditLogModel; | |
class ConfigChangeLoggerTest extends \PHPUnit\Framework\TestCase | |
{ | |
public function testSetOriginalNormData(): void | |
{ | |
$ipLookupHelper = $this->createMock(IpLookupHelper::class); | |
$auditLogModel = $this->createMock(AuditLogModel::class); | |
$logger = new ConfigChangeLogger($ipLookupHelper, $auditLogModel); | |
$this->assertEquals($logger, $logger->setOriginalNormData([])); | |
} | |
public function testOriginalNormDataExpected(): void | |
{ | |
$this->expectException(\RuntimeException::class); | |
$ipLookupHelper = $this->createMock(IpLookupHelper::class); | |
$ipLookupHelper->expects($this->never())->method('getIpAddressFromRequest'); | |
$auditLogModel = $this->createMock(AuditLogModel::class); | |
$auditLogModel->expects($this->never())->method('writeToLog'); | |
$logger = new ConfigChangeLogger($ipLookupHelper, $auditLogModel); | |
$logger->log([]); | |
} | |
public function testNothingToLog(): void | |
{ | |
$ipLookupHelper = $this->createMock(IpLookupHelper::class); | |
$ipLookupHelper->expects($this->never())->method('getIpAddressFromRequest'); | |
$auditLogModel = $this->createMock(AuditLogModel::class); | |
$auditLogModel->expects($this->never())->method('writeToLog'); | |
$logger = new ConfigChangeLogger($ipLookupHelper, $auditLogModel); | |
$originalData = $postData = [ | |
'bundle' => [ | |
'key' => 'value', | |
], | |
]; | |
$this->assertEquals($logger, $logger->setOriginalNormData($originalData)); | |
$logger->log($postData); | |
} | |
public function testLog(): void | |
{ | |
$change = [ | |
'key2' => 'changedValue', | |
]; | |
$filterMe = [ | |
'transifex_password' => 'dhjsakjfda', | |
'mailer_is_owner' => 'lksajhd', | |
]; | |
$log = [ | |
'bundle' => 'config', | |
'object' => 'config', | |
'objectId' => 0, | |
'action' => 'update', | |
'details' => $change, | |
'ipAddress' => null, | |
]; | |
$ipLookupHelper = $this->createMock(IpLookupHelper::class); | |
$ipLookupHelper->expects($this->once())->method('getIpAddressFromRequest'); | |
$auditLogModel = $this->createMock(AuditLogModel::class); | |
$auditLogModel->expects($this->once())->method('writeToLog')->with($log); | |
$logger = new ConfigChangeLogger($ipLookupHelper, $auditLogModel); | |
$originalData = [ | |
'bundle' => [ | |
'key' => 'value', | |
], | |
'bundle2' => [ | |
'parameters' => [ | |
'key2' => 'value2', | |
], | |
], | |
]; | |
$postData = [ | |
'bundle' => [ | |
'key' => 'value', | |
], | |
'bundle2' => array_merge($change, $filterMe), | |
]; | |
$this->assertEquals($logger, $logger->setOriginalNormData($originalData)); | |
$logger->log($postData); | |
} | |
} | |