2
0

GoogleCloudLoggingFormatterTest.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php declare(strict_types=1);
  2. /*
  3. * This file is part of the Monolog package.
  4. *
  5. * (c) Jordi Boggiano <j.boggiano@seld.be>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Monolog\Formatter;
  11. use DateTimeInterface;
  12. use Monolog\Test\MonologTestCase;
  13. use function json_decode;
  14. class GoogleCloudLoggingFormatterTest extends MonologTestCase
  15. {
  16. /**
  17. * @test
  18. *
  19. * @covers \Monolog\Formatter\JsonFormatter
  20. * @covers \Monolog\Formatter\GoogleCloudLoggingFormatter::normalizeRecord
  21. */
  22. public function formatProvidesRfc3339Timestamps(): void
  23. {
  24. $formatter = new GoogleCloudLoggingFormatter();
  25. $record = $this->getRecord();
  26. $formatted_decoded = json_decode($formatter->format($record), true);
  27. $this->assertArrayNotHasKey("datetime", $formatted_decoded);
  28. $this->assertArrayHasKey("time", $formatted_decoded);
  29. $this->assertSame($record->datetime->format(DateTimeInterface::RFC3339_EXTENDED), $formatted_decoded["time"]);
  30. }
  31. /**
  32. * @test
  33. *
  34. * @covers \Monolog\Formatter\JsonFormatter
  35. * @covers \Monolog\Formatter\GoogleCloudLoggingFormatter::normalizeRecord
  36. */
  37. public function formatIntroducesLogSeverity(): void
  38. {
  39. $formatter = new GoogleCloudLoggingFormatter();
  40. $record = $this->getRecord();
  41. $formatted_decoded = json_decode($formatter->format($record), true);
  42. $this->assertArrayNotHasKey("level", $formatted_decoded);
  43. $this->assertArrayNotHasKey("level_name", $formatted_decoded);
  44. $this->assertArrayHasKey("severity", $formatted_decoded);
  45. $this->assertSame($record->level->getName(), $formatted_decoded["severity"]);
  46. }
  47. }