From b1d05721cf37ab94ec1a6837fe79cf19474dd0ff Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Wed, 30 Dec 2015 13:26:30 +0100 Subject: Rewrote Wallabag v1 import --- .../Tests/Import/WallabagV1ImportTest.php | 96 ++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php (limited to 'src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php') diff --git a/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php b/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php new file mode 100644 index 00000000..fc66d402 --- /dev/null +++ b/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php @@ -0,0 +1,96 @@ +user = new User(); + + $this->em = $this->getMockBuilder('Doctrine\ORM\EntityManager') + ->disableOriginalConstructor() + ->getMock(); + + $pocket = new WallabagV1Import($this->em); + + $this->logHandler = new TestHandler(); + $logger = new Logger('test', array($this->logHandler)); + $pocket->setLogger($logger); + + if (false === $unsetUser) { + $pocket->setUser($this->user); + } + + return $pocket; + } + + public function testInit() + { + $wallabagV1Import = $this->getWallabagV1Import(); + + $this->assertEquals('Wallabag v1', $wallabagV1Import->getName()); + $this->assertEquals('This importer will import all your wallabag v1 articles.', $wallabagV1Import->getDescription()); + } + + public function testImport() + { + $wallabagV1Import = $this->getWallabagV1Import(); + $wallabagV1Import->setFilepath(__DIR__.'/../fixtures/wallabag-v1.json'); + + $entryRepo = $this->getMockBuilder('Wallabag\CoreBundle\Repository\EntryRepository') + ->disableOriginalConstructor() + ->getMock(); + + $entryRepo->expects($this->exactly(3)) + ->method('existByUrlAndUserId') + ->will($this->onConsecutiveCalls(false, true, false)); + + $this->em + ->expects($this->any()) + ->method('getRepository') + ->willReturn($entryRepo); + + $res = $wallabagV1Import->import(); + + $this->assertTrue($res); + $this->assertEquals(['skipped' => 1, 'imported' => 2], $wallabagV1Import->getSummary()); + } + + public function testImportBadFile() + { + $wallabagV1Import = $this->getWallabagV1Import(); + $wallabagV1Import->setFilepath(__DIR__.'/../fixtures/wallabag-v1.jsonx'); + + $res = $wallabagV1Import->import(); + + $this->assertFalse($res); + + $records = $this->logHandler->getRecords(); + $this->assertContains('WallabagV1Import: unable to read file', $records[0]['message']); + $this->assertEquals('ERROR', $records[0]['level_name']); + } + + public function testImportUserNotDefined() + { + $wallabagV1Import = $this->getWallabagV1Import(true); + $wallabagV1Import->setFilepath(__DIR__.'/../fixtures/wallabag-v1.json'); + + $res = $wallabagV1Import->import(); + + $this->assertFalse($res); + + $records = $this->logHandler->getRecords(); + $this->assertContains('WallabagV1Import: user is not defined', $records[0]['message']); + $this->assertEquals('ERROR', $records[0]['level_name']); + } +} -- cgit v1.2.3 From 7019c7cf6c6af39c0f458769e20c3f9306477943 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Thu, 31 Dec 2015 11:24:46 +0100 Subject: Add tagged services for import - list services in /import - add url to import service - ImportBundle routing are now prefixed by /import - optimize flush in each import (flushing each 20 contents) - improve design of each import - add more tests --- src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php') diff --git a/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php b/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php index fc66d402..8a8eb3fa 100644 --- a/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php +++ b/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php @@ -39,7 +39,8 @@ class WallabagV1ImportTest extends \PHPUnit_Framework_TestCase $wallabagV1Import = $this->getWallabagV1Import(); $this->assertEquals('Wallabag v1', $wallabagV1Import->getName()); - $this->assertEquals('This importer will import all your wallabag v1 articles.', $wallabagV1Import->getDescription()); + $this->assertNotEmpty($wallabagV1Import->getUrl()); + $this->assertContains('This importer will import all your wallabag v1 articles.', $wallabagV1Import->getDescription()); } public function testImport() -- cgit v1.2.3 From b88cf91fc8371194df78e690983c61ea94f266cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Wed, 6 Jan 2016 06:34:57 +0100 Subject: updated tests --- src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php') diff --git a/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php b/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php index 8a8eb3fa..d5b41777 100644 --- a/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php +++ b/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php @@ -38,7 +38,7 @@ class WallabagV1ImportTest extends \PHPUnit_Framework_TestCase { $wallabagV1Import = $this->getWallabagV1Import(); - $this->assertEquals('Wallabag v1', $wallabagV1Import->getName()); + $this->assertEquals('wallabag v1', $wallabagV1Import->getName()); $this->assertNotEmpty($wallabagV1Import->getUrl()); $this->assertContains('This importer will import all your wallabag v1 articles.', $wallabagV1Import->getDescription()); } -- cgit v1.2.3