diff options
author | Jeremy Benoist <jeremy.benoist@gmail.com> | 2016-03-27 20:35:56 +0200 |
---|---|---|
committer | Jeremy Benoist <jeremy.benoist@gmail.com> | 2016-03-27 20:54:57 +0200 |
commit | 4d0ec0e72108ff47952906e5d968a7c3eb0a76f9 (patch) | |
tree | b8e9cd86010368631296c22a2352f5dbedb429a1 /src/Wallabag/ImportBundle | |
parent | 5d6f6f56a2a0f72a67c2d3f96eb61986cf821a1e (diff) | |
download | wallabag-4d0ec0e72108ff47952906e5d968a7c3eb0a76f9.tar.gz wallabag-4d0ec0e72108ff47952906e5d968a7c3eb0a76f9.tar.zst wallabag-4d0ec0e72108ff47952906e5d968a7c3eb0a76f9.zip |
Fix some Scrutinizer issues
Diffstat (limited to 'src/Wallabag/ImportBundle')
5 files changed, 55 insertions, 12 deletions
diff --git a/src/Wallabag/ImportBundle/Controller/PocketController.php b/src/Wallabag/ImportBundle/Controller/PocketController.php index 1d804219..11ce649d 100644 --- a/src/Wallabag/ImportBundle/Controller/PocketController.php +++ b/src/Wallabag/ImportBundle/Controller/PocketController.php | |||
@@ -38,6 +38,15 @@ class PocketController extends Controller | |||
38 | $requestToken = $this->get('wallabag_import.pocket.import') | 38 | $requestToken = $this->get('wallabag_import.pocket.import') |
39 | ->getRequestToken($this->generateUrl('import', array(), UrlGeneratorInterface::ABSOLUTE_URL)); | 39 | ->getRequestToken($this->generateUrl('import', array(), UrlGeneratorInterface::ABSOLUTE_URL)); |
40 | 40 | ||
41 | if (false === $requestToken) { | ||
42 | $this->get('session')->getFlashBag()->add( | ||
43 | 'notice', | ||
44 | 'flashes.import.notice.failed' | ||
45 | ); | ||
46 | |||
47 | return $this->redirect($this->generateUrl('import_pocket')); | ||
48 | } | ||
49 | |||
41 | $this->get('session')->set('import.pocket.code', $requestToken); | 50 | $this->get('session')->set('import.pocket.code', $requestToken); |
42 | $this->get('session')->set('mark_as_read', $request->request->get('form')['mark_as_read']); | 51 | $this->get('session')->set('mark_as_read', $request->request->get('form')['mark_as_read']); |
43 | 52 | ||
diff --git a/src/Wallabag/ImportBundle/Import/PocketImport.php b/src/Wallabag/ImportBundle/Import/PocketImport.php index 4499ce69..f598e611 100644 --- a/src/Wallabag/ImportBundle/Import/PocketImport.php +++ b/src/Wallabag/ImportBundle/Import/PocketImport.php | |||
@@ -68,7 +68,7 @@ class PocketImport implements ImportInterface | |||
68 | * | 68 | * |
69 | * @param string $redirectUri Redirect url in case of error | 69 | * @param string $redirectUri Redirect url in case of error |
70 | * | 70 | * |
71 | * @return string request_token for callback method | 71 | * @return string|false request_token for callback method |
72 | */ | 72 | */ |
73 | public function getRequestToken($redirectUri) | 73 | public function getRequestToken($redirectUri) |
74 | { | 74 | { |
diff --git a/src/Wallabag/ImportBundle/Import/WallabagV1Import.php b/src/Wallabag/ImportBundle/Import/WallabagV1Import.php index 173a587f..82160bae 100644 --- a/src/Wallabag/ImportBundle/Import/WallabagV1Import.php +++ b/src/Wallabag/ImportBundle/Import/WallabagV1Import.php | |||
@@ -7,7 +7,6 @@ use Psr\Log\NullLogger; | |||
7 | use Doctrine\ORM\EntityManager; | 7 | use Doctrine\ORM\EntityManager; |
8 | use Wallabag\CoreBundle\Entity\Entry; | 8 | use Wallabag\CoreBundle\Entity\Entry; |
9 | use Wallabag\UserBundle\Entity\User; | 9 | use Wallabag\UserBundle\Entity\User; |
10 | use Wallabag\CoreBundle\Tools\Utils; | ||
11 | use Wallabag\CoreBundle\Helper\ContentProxy; | 10 | use Wallabag\CoreBundle\Helper\ContentProxy; |
12 | 11 | ||
13 | class WallabagV1Import implements ImportInterface | 12 | class WallabagV1Import implements ImportInterface |
@@ -153,19 +152,25 @@ class WallabagV1Import implements ImportInterface | |||
153 | continue; | 152 | continue; |
154 | } | 153 | } |
155 | 154 | ||
156 | // @see ContentProxy->updateEntry | 155 | $data = [ |
157 | $entry = new Entry($this->user); | 156 | 'title' => $importedEntry['title'], |
158 | $entry->setUrl($importedEntry['url']); | 157 | 'html' => $importedEntry['content'], |
158 | 'url' => $importedEntry['url'], | ||
159 | 'content_type' => '', | ||
160 | 'language' => '', | ||
161 | ]; | ||
159 | 162 | ||
163 | // force content to be refreshed in case on bad fetch in the v1 installation | ||
160 | if (in_array($importedEntry['title'], $untitled)) { | 164 | if (in_array($importedEntry['title'], $untitled)) { |
161 | $entry = $this->contentProxy->updateEntry($entry, $importedEntry['url']); | 165 | $data = []; |
162 | } else { | ||
163 | $entry->setContent($importedEntry['content']); | ||
164 | $entry->setTitle($importedEntry['title']); | ||
165 | $entry->setReadingTime(Utils::getReadingTime($importedEntry['content'])); | ||
166 | $entry->setDomainName(parse_url($importedEntry['url'], PHP_URL_HOST)); | ||
167 | } | 166 | } |
168 | 167 | ||
168 | $entry = $this->contentProxy->updateEntry( | ||
169 | new Entry($this->user), | ||
170 | $importedEntry['url'], | ||
171 | $data | ||
172 | ); | ||
173 | |||
169 | if (array_key_exists('tags', $importedEntry) && $importedEntry['tags'] != '') { | 174 | if (array_key_exists('tags', $importedEntry) && $importedEntry['tags'] != '') { |
170 | $this->contentProxy->assignTagsToEntry( | 175 | $this->contentProxy->assignTagsToEntry( |
171 | $entry, | 176 | $entry, |
diff --git a/src/Wallabag/ImportBundle/Tests/Controller/PocketControllerTest.php b/src/Wallabag/ImportBundle/Tests/Controller/PocketControllerTest.php index 174641fd..403fe9b0 100644 --- a/src/Wallabag/ImportBundle/Tests/Controller/PocketControllerTest.php +++ b/src/Wallabag/ImportBundle/Tests/Controller/PocketControllerTest.php | |||
@@ -17,11 +17,34 @@ class PocketControllerTest extends WallabagCoreTestCase | |||
17 | $this->assertEquals(1, $crawler->filter('button[type=submit]')->count()); | 17 | $this->assertEquals(1, $crawler->filter('button[type=submit]')->count()); |
18 | } | 18 | } |
19 | 19 | ||
20 | public function testImportPocketAuthBadToken() | ||
21 | { | ||
22 | $this->logInAs('admin'); | ||
23 | $client = $this->getClient(); | ||
24 | |||
25 | $crawler = $client->request('GET', '/import/pocket/auth'); | ||
26 | |||
27 | $this->assertEquals(302, $client->getResponse()->getStatusCode()); | ||
28 | } | ||
29 | |||
20 | public function testImportPocketAuth() | 30 | public function testImportPocketAuth() |
21 | { | 31 | { |
32 | $this->markTestSkipped('PocketImport: Find a way to properly mock a service.'); | ||
33 | |||
22 | $this->logInAs('admin'); | 34 | $this->logInAs('admin'); |
23 | $client = $this->getClient(); | 35 | $client = $this->getClient(); |
24 | 36 | ||
37 | $pocketImport = $this->getMockBuilder('Wallabag\ImportBundle\Import\PocketImport') | ||
38 | ->disableOriginalConstructor() | ||
39 | ->getMock(); | ||
40 | |||
41 | $pocketImport | ||
42 | ->expects($this->once()) | ||
43 | ->method('getRequestToken') | ||
44 | ->willReturn('token'); | ||
45 | |||
46 | $client->getContainer()->set('wallabag_import.pocket.import', $pocketImport); | ||
47 | |||
25 | $crawler = $client->request('GET', '/import/pocket/auth'); | 48 | $crawler = $client->request('GET', '/import/pocket/auth'); |
26 | 49 | ||
27 | $this->assertEquals(301, $client->getResponse()->getStatusCode()); | 50 | $this->assertEquals(301, $client->getResponse()->getStatusCode()); |
diff --git a/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php b/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php index 496cf2d3..540eb7da 100644 --- a/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php +++ b/src/Wallabag/ImportBundle/Tests/Import/WallabagV1ImportTest.php | |||
@@ -3,6 +3,7 @@ | |||
3 | namespace Wallabag\ImportBundle\Tests\Import; | 3 | namespace Wallabag\ImportBundle\Tests\Import; |
4 | 4 | ||
5 | use Wallabag\UserBundle\Entity\User; | 5 | use Wallabag\UserBundle\Entity\User; |
6 | use Wallabag\CoreBundle\Entity\Entry; | ||
6 | use Wallabag\ImportBundle\Import\WallabagV1Import; | 7 | use Wallabag\ImportBundle\Import\WallabagV1Import; |
7 | use Monolog\Logger; | 8 | use Monolog\Logger; |
8 | use Monolog\Handler\TestHandler; | 9 | use Monolog\Handler\TestHandler; |
@@ -71,7 +72,7 @@ class WallabagV1ImportTest extends \PHPUnit_Framework_TestCase | |||
71 | ->getMock(); | 72 | ->getMock(); |
72 | 73 | ||
73 | $this->contentProxy | 74 | $this->contentProxy |
74 | ->expects($this->once()) | 75 | ->expects($this->exactly(3)) |
75 | ->method('updateEntry') | 76 | ->method('updateEntry') |
76 | ->willReturn($entry); | 77 | ->willReturn($entry); |
77 | 78 | ||
@@ -99,6 +100,11 @@ class WallabagV1ImportTest extends \PHPUnit_Framework_TestCase | |||
99 | ->method('getRepository') | 100 | ->method('getRepository') |
100 | ->willReturn($entryRepo); | 101 | ->willReturn($entryRepo); |
101 | 102 | ||
103 | $this->contentProxy | ||
104 | ->expects($this->exactly(3)) | ||
105 | ->method('updateEntry') | ||
106 | ->willReturn(new Entry($this->user)); | ||
107 | |||
102 | // check that every entry persisted are archived | 108 | // check that every entry persisted are archived |
103 | $this->em | 109 | $this->em |
104 | ->expects($this->any()) | 110 | ->expects($this->any()) |