LogTest.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. namespace Tools\Test\Utility;
  3. use Tools\TestSuite\TestCase;
  4. use Tools\Utility\Log;
  5. /**
  6. * LogTest class
  7. */
  8. class LogTest extends TestCase {
  9. /**
  10. * Filename with path to use in string test case.
  11. *
  12. * @var string
  13. */
  14. private const TEST_FILENAME_STRING = 'my_file';
  15. private const TEST_FILEPATH_STRING = LOGS . self::TEST_FILENAME_STRING . '.log';
  16. /**
  17. * Filename with path to use in array test case.
  18. *
  19. * @var string
  20. */
  21. private const TEST_FILENAME_ARRAY1 = 'array_file1';
  22. private const TEST_FILEPATH_ARRAY1 = LOGS . self::TEST_FILENAME_ARRAY1 . '.log';
  23. private const TEST_FILENAME_ARRAY2 = 'array_file2';
  24. private const TEST_FILEPATH_ARRAY2 = LOGS . self::TEST_FILENAME_ARRAY2 . '.log';
  25. /**
  26. * setUp method
  27. *
  28. * @return void
  29. */
  30. public function setUp() {
  31. parent::setUp();
  32. }
  33. /**
  34. * testLogsStringData method
  35. *
  36. * @return void
  37. */
  38. public function testLogsStringData() {
  39. if (file_exists(self::TEST_FILEPATH_STRING)) {
  40. unlink(self::TEST_FILEPATH_STRING);
  41. }
  42. $result = Log::write('It works!', self::TEST_FILENAME_STRING);
  43. $this->assertTrue($result);
  44. $this->assertFileExists(self::TEST_FILEPATH_STRING);
  45. $this->assertRegExp(
  46. '/^2[0-9]{3}-[0-9]+-[0-9]+ [0-9]+:[0-9]+:[0-9]+ Debug: It works!/',
  47. file_get_contents(self::TEST_FILEPATH_STRING)
  48. );
  49. unlink(self::TEST_FILENAME_STRING);
  50. }
  51. /**
  52. * testLogsArray method
  53. *
  54. * @return void
  55. */
  56. public function testLogsArray() {
  57. if (file_exists(self::TEST_FILEPATH_ARRAY1)) {
  58. unlink(self::TEST_FILEPATH_ARRAY1);
  59. }
  60. if (file_exists(self::TEST_FILEPATH_ARRAY2)) {
  61. unlink(self::TEST_FILEPATH_ARRAY2);
  62. }
  63. $result1 = Log::write(
  64. [
  65. 'user' => [
  66. 'id' => 1,
  67. 'firstname' => 'John Doe',
  68. 'email' => 'john.doe@example.com',
  69. ]
  70. ],
  71. self::TEST_FILENAME_ARRAY1
  72. );
  73. $result2 = Log::write(
  74. [
  75. 'user' => [
  76. 'id' => 2,
  77. 'firstname' => 'Jane Doe',
  78. 'email' => 'jane.doe@example.com',
  79. ]
  80. ],
  81. self::TEST_FILENAME_ARRAY2
  82. );
  83. // Assert for `TEST_FILENAME_ARRAY1`
  84. $this->assertTrue($result1);
  85. $this->assertFileExists(self::TEST_FILEPATH_ARRAY1);
  86. $fileContents = file_get_contents(self::TEST_FILEPATH_ARRAY1);
  87. $this->assertRegExp(
  88. '/^2[0-9]{3}-[0-9]+-[0-9]+ [0-9]+:[0-9]+:[0-9]+ Debug: Array([\s\S]*)\(([\s\S]*)[user]([\s\S]*)\[id\] => 1/',
  89. $fileContents
  90. );
  91. // Assert for `TEST_FILENAME_ARRAY2`
  92. $this->assertTrue($result2);
  93. $this->assertFileExists(self::TEST_FILEPATH_ARRAY2);
  94. $fileContents = file_get_contents(self::TEST_FILEPATH_ARRAY2);
  95. $this->assertRegExp(
  96. '/^2[0-9]{3}-[0-9]+-[0-9]+ [0-9]+:[0-9]+:[0-9]+ Debug: Array([\s\S]*)\(([\s\S]*)[user]([\s\S]*)\[id\] => 2/',
  97. $fileContents
  98. );
  99. unlink(self::TEST_FILEPATH_ARRAY1);
  100. unlink(self::TEST_FILEPATH_ARRAY2);
  101. }
  102. }