From 0a033767db51d17439bfbd16bb0558327f1fc7a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Fri, 12 May 2017 13:13:19 +0200 Subject: Added logger when we match Tagging rules --- src/Wallabag/CoreBundle/Helper/RuleBasedTagger.php | 9 ++++++++- src/Wallabag/CoreBundle/Resources/config/services.yml | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Wallabag/CoreBundle/Helper/RuleBasedTagger.php b/src/Wallabag/CoreBundle/Helper/RuleBasedTagger.php index b490e209..add27db2 100644 --- a/src/Wallabag/CoreBundle/Helper/RuleBasedTagger.php +++ b/src/Wallabag/CoreBundle/Helper/RuleBasedTagger.php @@ -8,6 +8,7 @@ use Wallabag\CoreBundle\Entity\Tag; use Wallabag\CoreBundle\Repository\EntryRepository; use Wallabag\CoreBundle\Repository\TagRepository; use Wallabag\UserBundle\Entity\User; +use Psr\Log\LoggerInterface; class RuleBasedTagger { @@ -15,11 +16,12 @@ class RuleBasedTagger private $tagRepository; private $entryRepository; - public function __construct(RulerZ $rulerz, TagRepository $tagRepository, EntryRepository $entryRepository) + public function __construct(RulerZ $rulerz, TagRepository $tagRepository, EntryRepository $entryRepository, LoggerInterface $logger) { $this->rulerz = $rulerz; $this->tagRepository = $tagRepository; $this->entryRepository = $entryRepository; + $this->logger = $logger; } /** @@ -36,6 +38,11 @@ class RuleBasedTagger continue; } + $this->logger->info('Matching rule.', [ + 'rule' => $rule->getRule(), + 'tags' => $rule->getTags(), + ]); + foreach ($rule->getTags() as $label) { $tag = $this->getTag($label); diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml index 6c9195ce..a9134ac3 100644 --- a/src/Wallabag/CoreBundle/Resources/config/services.yml +++ b/src/Wallabag/CoreBundle/Resources/config/services.yml @@ -99,6 +99,7 @@ services: - "@rulerz" - "@wallabag_core.tag_repository" - "@wallabag_core.entry_repository" + - "@logger" # repository as a service wallabag_core.entry_repository: -- cgit v1.2.3 From 3554364bedec2b831074d5d4e7409b4124e86a59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Fri, 12 May 2017 13:47:53 +0200 Subject: Fixed tests --- tests/Wallabag/CoreBundle/Helper/RuleBasedTaggerTest.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/Wallabag/CoreBundle/Helper/RuleBasedTaggerTest.php b/tests/Wallabag/CoreBundle/Helper/RuleBasedTaggerTest.php index 17b08c2a..522cf3b3 100644 --- a/tests/Wallabag/CoreBundle/Helper/RuleBasedTaggerTest.php +++ b/tests/Wallabag/CoreBundle/Helper/RuleBasedTaggerTest.php @@ -2,6 +2,7 @@ namespace Tests\Wallabag\CoreBundle\Helper; +use Psr\Log\NullLogger; use Wallabag\CoreBundle\Entity\Config; use Wallabag\CoreBundle\Entity\Entry; use Wallabag\CoreBundle\Entity\Tag; @@ -22,7 +23,7 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase $this->tagRepository = $this->getTagRepositoryMock(); $this->entryRepository = $this->getEntryRepositoryMock(); - $this->tagger = new RuleBasedTagger($this->rulerz, $this->tagRepository, $this->entryRepository); + $this->tagger = new RuleBasedTagger($this->rulerz, $this->tagRepository, $this->entryRepository, $this->getLogger()); } public function testTagWithNoRule() @@ -209,4 +210,9 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase ->disableOriginalConstructor() ->getMock(); } + + private function getLogger() + { + return new NullLogger(); + } } -- cgit v1.2.3 From a1146b6551da01a1fd2b5711a5cf68fb1791c055 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Fri, 12 May 2017 15:01:18 +0200 Subject: Added tests on logs records --- .../CoreBundle/Helper/RuleBasedTaggerTest.php | 25 +++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/tests/Wallabag/CoreBundle/Helper/RuleBasedTaggerTest.php b/tests/Wallabag/CoreBundle/Helper/RuleBasedTaggerTest.php index 522cf3b3..1e21f400 100644 --- a/tests/Wallabag/CoreBundle/Helper/RuleBasedTaggerTest.php +++ b/tests/Wallabag/CoreBundle/Helper/RuleBasedTaggerTest.php @@ -2,7 +2,8 @@ namespace Tests\Wallabag\CoreBundle\Helper; -use Psr\Log\NullLogger; +use Monolog\Handler\TestHandler; +use Monolog\Logger; use Wallabag\CoreBundle\Entity\Config; use Wallabag\CoreBundle\Entity\Entry; use Wallabag\CoreBundle\Entity\Tag; @@ -16,14 +17,19 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase private $tagRepository; private $entryRepository; private $tagger; + private $logger; + private $handler; public function setUp() { $this->rulerz = $this->getRulerZMock(); $this->tagRepository = $this->getTagRepositoryMock(); $this->entryRepository = $this->getEntryRepositoryMock(); + $this->logger = $this->getLogger(); + $this->handler = new TestHandler(); + $this->logger->pushHandler($this->handler); - $this->tagger = new RuleBasedTagger($this->rulerz, $this->tagRepository, $this->entryRepository, $this->getLogger()); + $this->tagger = new RuleBasedTagger($this->rulerz, $this->tagRepository, $this->entryRepository, $this->logger); } public function testTagWithNoRule() @@ -33,6 +39,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase $this->tagger->tag($entry); $this->assertTrue($entry->getTags()->isEmpty()); + $records = $this->handler->getRecords(); + $this->assertCount(0, $records); } public function testTagWithNoMatchingRule() @@ -50,6 +58,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase $this->tagger->tag($entry); $this->assertTrue($entry->getTags()->isEmpty()); + $records = $this->handler->getRecords(); + $this->assertCount(0, $records); } public function testTagWithAMatchingRule() @@ -71,6 +81,9 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase $tags = $entry->getTags(); $this->assertSame('foo', $tags[0]->getLabel()); $this->assertSame('bar', $tags[1]->getLabel()); + + $records = $this->handler->getRecords(); + $this->assertCount(1, $records); } public function testTagWithAMixOfMatchingRules() @@ -91,6 +104,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase $tags = $entry->getTags(); $this->assertSame('foo', $tags[0]->getLabel()); + $records = $this->handler->getRecords(); + $this->assertCount(1, $records); } public function testWhenTheTagExists() @@ -119,6 +134,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase $tags = $entry->getTags(); $this->assertSame($tag, $tags[0]); + $records = $this->handler->getRecords(); + $this->assertCount(1, $records); } public function testSameTagWithDifferentfMatchingRules() @@ -139,6 +156,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase $tags = $entry->getTags(); $this->assertCount(1, $tags); + $records = $this->handler->getRecords(); + $this->assertCount(2, $records); } public function testTagAllEntriesForAUser() @@ -213,6 +232,6 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase private function getLogger() { - return new NullLogger(); + return new Logger('foo'); } } -- cgit v1.2.3