2
0
Fork 0
mirror of https://github.com/discourse/wp-discourse.git synced 2025-08-17 18:11:19 +08:00
wp-discourse/tests/phpunit/test-logger.php
Simon Cossar 43bd053450
Bump version to 2.2.4 (#404)
* Add base log classes

* Return maxFiles to normal level

* Use protected class variables for folder names in folder-manager

* Add unit tests for logger classes && various logger improvements

* Add log viewer

* Fix initialization sequence in LogViewer

* Add wp-discourse settings to plugin meta

* Remove metafile comments

* Add partial coverage and annotate LogViewer

* Add code coverage reporting and a tests readme

* Tests readme xdebug section formatting

* Add logging and tests to discourse-publish

This abstracts remote post components to make it possible to add consistent error and log handling. Also adds basic tests coverage for discourse-publish.

* Add successful publication test

* Add working tests for publish_after_create and publish_after_update

* Always remove test files and database upon install

* Cleanup copy and assertions for existing tests

* Final cleanup && verbose setting

* Improve structure of publish test

* Final tests, linting, security and cleanup

* PHP 7.0 Compatibility

* PHP 5.6 Compatibility

* JSHint fixes

* Update file-handler.php

* Update log viewer title

* Use older monolog and update file_handler function signatures

* Add nonce to other view_log action

* Namespace production composer packages and define build process

* Update COMPOSER.md

* Update FORMATTING.md

* Log viewer style, naming and log-refresh improvements

* Filter out all return type declarations during scoping

* JsHint: Don't use default params

* Update COMPOSER.md

* Copy fix

* Update scoper patchers notes

* Address syntax issues

- Remove >php7 syntax from non-required files
- Add phpcs pattern exclusions to phpcs.xml
- update formatting docs

* discourse-publish: address all phpcs notices and add more tests

Note: also added dealerdirect/phpcodesniffer-composer-installer to handle local requiring of codesniffer

* Handle all phpcs warnings in lib/logs

* Add todo: review phpcs exclusions to discourse-publish

* Monolog cleanup

- Remove unused monolog handlers, processors and formatters
- Add vendor_namespaced to excluded phpcs patterns

* Update CI versions to those used in composer

* Switch to using composer directly in CI actions

* Composer is packaged in shivammathur/setup-php

* Setup PHPCS via shivammathur/setup-php

* Incorrect tools key

* Use vendor/bin version of phpcs

* Install composer dependencies via ramsey/composer-install

* Update composer.lock to composer 2 and --ignore-platform-reqs

* Install lowest version of dependencies

* Move dependency-versions key

* Move composer-options key

* Exclude vendor directory from syntax checker

* Add vendor to jshintignore

* Update phpcs.xml to properly exclude js css and config files

* Address phpcs issues in log-viewer

* Fix remaining whitespace issues created in this PR

* Remove out of date sniffs and exclude specific code where necessary

* Final cleanup

* Properly escape html in log viewer

* Remove unnecessary verbiage from documentation

* Bump plugin's version to 2.2.4

Co-authored-by: Angus McLeod <angus@mcleod.org.au>
2021-05-11 15:31:24 -07:00

67 lines
1.7 KiB
PHP

<?php
/**
* Class LoggerTest
*
* @package WPDiscourse
*/
use \WPDiscourse\Logs\Logger;
use \WPDiscourse\Logs\NullHandler;
use \WPDiscourse\Logs\FileHandler;
use \WPDiscourse\Logs\LineFormatter;
/**
* Logger test case.
*/
class LoggerTest extends WP_UnitTestCase {
/**
* It creates an instance of Logger
*/
public function test_create() {
$logger = Logger::create( 'test' );
$this->assertInstanceOf( Logger::class, $logger );
return $logger;
}
/**
* It attaches FileHandler as the default handler
*
* @param object $logger Instance of \WPDiscourse\Logs\Logger.
* @depends test_create
*/
public function test_create_handler( $logger ) {
$handlers = $logger->getHandlers();
$this->assertCount( 1, $handlers );
$file_handler = reset( $handlers );
$this->assertInstanceOf( FileHandler::class, $file_handler );
return $file_handler;
}
/**
* It attaches LineFormatter as the default formatter
*
* @param object $file_handler Instance of \WPDiscourse\Logs\FileHandler.
* @depends test_create_handler
*/
public function test_create_handler_formatter( $file_handler ) {
$this->assertInstanceOf( LineFormatter::class, $file_handler->getFormatter() );
}
/**
* It attaches NullHandler if FileHandler is not enabled
*/
public function test_create_file_handler_not_enabled() {
$file_handler_double = \Mockery::mock( FileHandler::class )->makePartial();
$file_handler_double->shouldReceive( 'enabled' )->andReturn( false );
$logger = Logger::create( 'test', $file_handler_double );
$handlers = $logger->getHandlers();
$this->assertCount( 1, $handlers );
$this->assertContainsOnlyInstancesOf( NullHandler::class, $handlers );
}
}