Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename TestCase to MonologTestCase #1953

Merged
merged 5 commits into from
Mar 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions src/Monolog/Test/MonologTestCase.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<?php declare(strict_types=1);

/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

namespace Monolog\Test;

use Monolog\Level;
use Monolog\Logger;
use Monolog\LogRecord;
use Monolog\JsonSerializableDateTimeImmutable;
use Monolog\Formatter\FormatterInterface;
use Psr\Log\LogLevel;

/**
* Lets you easily generate log records and a dummy formatter for testing purposes
*
* @author Jordi Boggiano <[email protected]>
*/
class MonologTestCase extends \PHPUnit\Framework\TestCase
{
/**
* @param array<mixed> $context
* @param array<mixed> $extra
*
* @phpstan-param value-of<Level::VALUES>|value-of<Level::NAMES>|Level|LogLevel::* $level
*/
protected function getRecord(int|string|Level $level = Level::Warning, string|\Stringable $message = 'test', array $context = [], string $channel = 'test', \DateTimeImmutable $datetime = new JsonSerializableDateTimeImmutable(true), array $extra = []): LogRecord
{
return new LogRecord(
message: (string) $message,
context: $context,
level: Logger::toMonologLevel($level),
channel: $channel,
datetime: $datetime,
extra: $extra,
);
}

/**
* @phpstan-return list<LogRecord>
*/
protected function getMultipleRecords(): array
{
return [
$this->getRecord(Level::Debug, 'debug message 1'),
$this->getRecord(Level::Debug, 'debug message 2'),
$this->getRecord(Level::Info, 'information'),
$this->getRecord(Level::Warning, 'warning'),
$this->getRecord(Level::Error, 'error'),
];
}

protected function getIdentityFormatter(): FormatterInterface
{
$formatter = $this->createMock(FormatterInterface::class);
$formatter->expects(self::any())
->method('format')
->willReturnCallback(function ($record) {
return $record->message;
});

return $formatter;
}
}
55 changes: 2 additions & 53 deletions src/Monolog/Test/TestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,64 +11,13 @@

namespace Monolog\Test;

use Monolog\Level;
use Monolog\Logger;
use Monolog\LogRecord;
use Monolog\JsonSerializableDateTimeImmutable;
use Monolog\Formatter\FormatterInterface;
use Psr\Log\LogLevel;
use ReflectionProperty;

/**
* Lets you easily generate log records and a dummy formatter for testing purposes
*
* @author Jordi Boggiano <[email protected]>
*
* @internal feel free to reuse this to test your own handlers, this is marked internal to avoid issues with PHPStorm https://github.com/Seldaek/monolog/issues/1677
* @deprecated use MonologTestCase instead.
*/
class TestCase extends \PHPUnit\Framework\TestCase
class TestCase extends MonologTestCase
{
/**
* @param array<mixed> $context
* @param array<mixed> $extra
*
* @phpstan-param value-of<Level::VALUES>|value-of<Level::NAMES>|Level|LogLevel::* $level
*/
protected function getRecord(int|string|Level $level = Level::Warning, string|\Stringable $message = 'test', array $context = [], string $channel = 'test', \DateTimeImmutable $datetime = new JsonSerializableDateTimeImmutable(true), array $extra = []): LogRecord
{
return new LogRecord(
message: (string) $message,
context: $context,
level: Logger::toMonologLevel($level),
channel: $channel,
datetime: $datetime,
extra: $extra,
);
}

/**
* @phpstan-return list<LogRecord>
*/
protected function getMultipleRecords(): array
{
return [
$this->getRecord(Level::Debug, 'debug message 1'),
$this->getRecord(Level::Debug, 'debug message 2'),
$this->getRecord(Level::Info, 'information'),
$this->getRecord(Level::Warning, 'warning'),
$this->getRecord(Level::Error, 'error'),
];
}

protected function getIdentityFormatter(): FormatterInterface
{
$formatter = $this->createMock(FormatterInterface::class);
$formatter->expects(self::any())
->method('format')
->willReturnCallback(function ($record) {
return $record->message;
});

return $formatter;
}
}
4 changes: 1 addition & 3 deletions tests/Monolog/Attribute/AsMonologProcessorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,10 @@

namespace Monolog\Attribute;

use PHPUnit\Framework\TestCase;

/**
* @requires PHP 8.0
*/
final class AsMonologProcessorTest extends TestCase
final class AsMonologProcessorTest extends \Monolog\Test\MonologTestCase
{
public function test(): void
{
Expand Down
4 changes: 1 addition & 3 deletions tests/Monolog/Attribute/WithMonologChannelTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,7 @@

namespace Monolog\Attribute;

use PHPUnit\Framework\TestCase;

class WithMonologChannelTest extends TestCase
class WithMonologChannelTest extends \Monolog\Test\MonologTestCase
{
public function test(): void
{
Expand Down
4 changes: 2 additions & 2 deletions tests/Monolog/Formatter/ChromePHPFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
namespace Monolog\Formatter;

use Monolog\Level;
use Monolog\Test\TestCase;
use Monolog\Test\MonologTestCase;

class ChromePHPFormatterTest extends TestCase
class ChromePHPFormatterTest extends MonologTestCase
{
/**
* @covers Monolog\Formatter\ChromePHPFormatter::format
Expand Down
4 changes: 2 additions & 2 deletions tests/Monolog/Formatter/ElasticaFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
namespace Monolog\Formatter;

use Monolog\Level;
use Monolog\Test\TestCase;
use Monolog\Test\MonologTestCase;

class ElasticaFormatterTest extends TestCase
class ElasticaFormatterTest extends MonologTestCase
{
public function setUp(): void
{
Expand Down
4 changes: 2 additions & 2 deletions tests/Monolog/Formatter/ElasticsearchFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
namespace Monolog\Formatter;

use Monolog\Level;
use Monolog\Test\TestCase;
use Monolog\Test\MonologTestCase;

class ElasticsearchFormatterTest extends TestCase
class ElasticsearchFormatterTest extends MonologTestCase
{
/**
* @covers Monolog\Formatter\ElasticsearchFormatter::__construct
Expand Down
4 changes: 2 additions & 2 deletions tests/Monolog/Formatter/FlowdockFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
namespace Monolog\Formatter;

use Monolog\Level;
use Monolog\Test\TestCase;
use Monolog\Test\MonologTestCase;

class FlowdockFormatterTest extends TestCase
class FlowdockFormatterTest extends MonologTestCase
{
/**
* @covers Monolog\Formatter\FlowdockFormatter::format
Expand Down
4 changes: 2 additions & 2 deletions tests/Monolog/Formatter/FluentdFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
namespace Monolog\Formatter;

use Monolog\Level;
use Monolog\Test\TestCase;
use Monolog\Test\MonologTestCase;

class FluentdFormatterTest extends TestCase
class FluentdFormatterTest extends MonologTestCase
{
/**
* @covers Monolog\Formatter\FluentdFormatter::__construct
Expand Down
4 changes: 2 additions & 2 deletions tests/Monolog/Formatter/GelfMessageFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
namespace Monolog\Formatter;

use Monolog\Level;
use Monolog\Test\TestCase;
use Monolog\Test\MonologTestCase;

class GelfMessageFormatterTest extends TestCase
class GelfMessageFormatterTest extends MonologTestCase
{
public function setUp(): void
{
Expand Down
4 changes: 2 additions & 2 deletions tests/Monolog/Formatter/GoogleCloudLoggingFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
namespace Monolog\Formatter;

use DateTimeInterface;
use Monolog\Test\TestCase;
use Monolog\Test\MonologTestCase;
use function json_decode;

class GoogleCloudLoggingFormatterTest extends TestCase
class GoogleCloudLoggingFormatterTest extends MonologTestCase
{
/**
* @test
Expand Down
4 changes: 2 additions & 2 deletions tests/Monolog/Formatter/JsonFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
use Monolog\Level;
use Monolog\LogRecord;
use JsonSerializable;
use Monolog\Test\TestCase;
use Monolog\Test\MonologTestCase;

class JsonFormatterTest extends TestCase
class JsonFormatterTest extends MonologTestCase
{
/**
* @covers Monolog\Formatter\JsonFormatter::__construct
Expand Down
4 changes: 2 additions & 2 deletions tests/Monolog/Formatter/LineFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@

namespace Monolog\Formatter;

use Monolog\Test\TestCase;
use Monolog\Test\MonologTestCase;
use Monolog\Level;
use PHPUnit\Framework\Attributes\DataProvider;
use RuntimeException;

/**
* @covers Monolog\Formatter\LineFormatter
*/
class LineFormatterTest extends TestCase
class LineFormatterTest extends MonologTestCase
{
public function testDefFormatWithString()
{
Expand Down
4 changes: 2 additions & 2 deletions tests/Monolog/Formatter/LogglyFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@

namespace Monolog\Formatter;

use Monolog\Test\TestCase;
use Monolog\Test\MonologTestCase;

class LogglyFormatterTest extends TestCase
class LogglyFormatterTest extends MonologTestCase
{
/**
* @covers Monolog\Formatter\LogglyFormatter::__construct
Expand Down
4 changes: 2 additions & 2 deletions tests/Monolog/Formatter/LogmaticFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@

namespace Monolog\Formatter;

use Monolog\Test\TestCase;
use Monolog\Test\MonologTestCase;

/**
* @author Julien Breux <[email protected]>
*/
class LogmaticFormatterTest extends TestCase
class LogmaticFormatterTest extends MonologTestCase
{
/**
* @covers Monolog\Formatter\LogmaticFormatter::format
Expand Down
4 changes: 2 additions & 2 deletions tests/Monolog/Formatter/LogstashFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
namespace Monolog\Formatter;

use Monolog\Level;
use Monolog\Test\TestCase;
use Monolog\Test\MonologTestCase;

class LogstashFormatterTest extends TestCase
class LogstashFormatterTest extends MonologTestCase
{
/**
* @covers Monolog\Formatter\LogstashFormatter::format
Expand Down
3 changes: 1 addition & 2 deletions tests/Monolog/Formatter/MongoDBFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,12 @@
use MongoDB\BSON\Regex;
use MongoDB\BSON\UTCDateTime;
use Monolog\Level;
use Monolog\Test\TestCase;
use PHPUnit\Framework\Attributes\DataProvider;

/**
* @author Florian Plattner <[email protected]>
*/
class MongoDBFormatterTest extends TestCase
class MongoDBFormatterTest extends \Monolog\Test\MonologTestCase
{
public function setUp(): void
{
Expand Down
3 changes: 1 addition & 2 deletions tests/Monolog/Formatter/NormalizerFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,12 @@

namespace Monolog\Formatter;

use Monolog\Test\TestCase;
use Monolog\Level;

/**
* @covers Monolog\Formatter\NormalizerFormatter
*/
class NormalizerFormatterTest extends TestCase
class NormalizerFormatterTest extends \Monolog\Test\MonologTestCase
{
public function testFormat()
{
Expand Down
3 changes: 1 addition & 2 deletions tests/Monolog/Formatter/ScalarFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@
namespace Monolog\Formatter;

use Monolog\JsonSerializableDateTimeImmutable;
use Monolog\Test\TestCase;

class ScalarFormatterTest extends TestCase
class ScalarFormatterTest extends \Monolog\Test\MonologTestCase
{
private ScalarFormatter $formatter;

Expand Down
3 changes: 1 addition & 2 deletions tests/Monolog/Formatter/SyslogFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,8 @@
use Monolog\Level;
use Monolog\LogRecord;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;

class SyslogFormatterTest extends TestCase
class SyslogFormatterTest extends \Monolog\Test\MonologTestCase
{
/**
* @param mixed[] $context
Expand Down
3 changes: 1 addition & 2 deletions tests/Monolog/Formatter/WildfireFormatterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@
namespace Monolog\Formatter;

use Monolog\Level;
use Monolog\Test\TestCase;

class WildfireFormatterTest extends TestCase
class WildfireFormatterTest extends \Monolog\Test\MonologTestCase
{
/**
* @covers Monolog\Formatter\WildfireFormatter::format
Expand Down
3 changes: 1 addition & 2 deletions tests/Monolog/Handler/AbstractHandlerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@
namespace Monolog\Handler;

use Monolog\Level;
use Monolog\Test\TestCase;

class AbstractHandlerTest extends TestCase
class AbstractHandlerTest extends \Monolog\Test\MonologTestCase
{
/**
* @covers Monolog\Handler\AbstractHandler::__construct
Expand Down
Loading