Skip to content

Commit

Permalink
Merge branch 'b-7.2.x' into b-8.0.x
Browse files Browse the repository at this point in the history
  • Loading branch information
godefroy-le-hardi committed Apr 15, 2024
2 parents 7e4b5e3 + 9bfaf0a commit 16fe60b
Showing 1 changed file with 23 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

namespace OxidEsales\EshopCommunity\Tests\Integration\Internal\Framework\Database\Logger;

use OxidEsales\EshopCommunity\Internal\Framework\Database\Logger\QueryFilterInterface;
use OxidEsales\EshopCommunity\Tests\Unit\Internal\ContextStub;
use OxidEsales\EshopCommunity\Internal\Framework\Database\Logger\QueryLogger;
use OxidEsales\EshopCommunity\Internal\Framework\Database\Logger\QueryFilter;
Expand All @@ -17,62 +18,35 @@

class QueryLoggerTest extends TestCase
{
public static function providerTestLogging(): array
public function testLoggingEnabled(): void
{
return [
[
'query_pass' => true,
'expected' => 'once'
],
[
'query_pass' => false,
'expected' => 'never'
]
];
}
$queryFilter = $this->getMockBuilder(QueryFilter::class)
->onlyMethods(['shouldLogQuery'])
->getMock();

/**
* @dataProvider providerTestLogging
*/
public function testLogging(bool $queryPass, string $expected)
{
$context = new ContextStub();
$queryFilter->method('shouldLogQuery')->willReturn(true);

$queryFilter = $this->getQueryFilterMock($queryPass);
$psrLogger = $this->getPsrLoggerMock();
$psrLogger->expects($this->once())->method('debug');

$psrLogger->expects($this->$expected())
->method('debug');

$logger = new QueryLogger($queryFilter, $context, $psrLogger);
$query = 'dummy test query where oxid = :id ';

$logger->startQuery($query, [':id' => 'testid']);
$logger->stopQuery();
$this->runQuery($queryFilter, $psrLogger);
}

/**
* @return \PHPUnit\Framework\MockObject\MockObject|QueryFilter
*/
private function getQueryFilterMock($pass = true)
public function testLoggingDisabled(): void
{
$queryFilter = $this->getMockBuilder(QueryFilter::class)
->onlyMethods(['shouldLogQuery'])
->getMock();

$queryFilter->expects($this->any())
->method('shouldLogQuery')
->willReturn($pass);
$queryFilter->method('shouldLogQuery')->willReturn(false);

return $queryFilter;
$psrLogger = $this->getPsrLoggerMock();
$psrLogger->expects($this->never())->method('debug');

$this->runQuery($queryFilter, $psrLogger);
}

/**
* Test helper.
*
* @return \PHPUnit\Framework\MockObject\MockObject|LoggerInterface
*/
private function getPsrLoggerMock()
private function getPsrLoggerMock(): LoggerInterface
{
$psrLogger = $this->getMockBuilder(LoggerInterface::class)
->disableOriginalConstructor()
Expand All @@ -93,4 +67,12 @@ private function getPsrLoggerMock()

return $psrLogger;
}

public function runQuery(QueryFilterInterface $queryFilter, LoggerInterface $psrLogger): void
{
$logger = new QueryLogger($queryFilter, new ContextStub(), $psrLogger);

$logger->startQuery('dummy query', [':id' => 'testId']);
$logger->stopQuery();
}
}

0 comments on commit 16fe60b

Please sign in to comment.