From c5daf112bed9d958f70073fd1cb199beff322334 Mon Sep 17 00:00:00 2001 From: Sean Molenaar Date: Wed, 28 Oct 2020 23:06:49 +0100 Subject: Command: Add unittests Signed-off-by: Sean Molenaar --- lib/Command/Config/FeedAdd.php | 16 ++++++++-------- lib/Command/Config/FeedDelete.php | 8 ++++---- lib/Command/Config/FeedList.php | 4 ++-- lib/Command/Config/FolderAdd.php | 6 +++--- lib/Command/Config/FolderDelete.php | 8 ++++---- lib/Command/Config/FolderList.php | 4 ++-- lib/Command/Config/OpmlExport.php | 4 ++-- lib/Command/ShowFeed.php | 21 ++++++--------------- lib/Command/Updater/AfterUpdate.php | 2 +- lib/Command/Updater/AllFeeds.php | 6 ++++++ lib/Command/Updater/UpdateFeed.php | 7 ++----- lib/Service/FolderServiceV2.php | 5 +++-- 12 files changed, 43 insertions(+), 48 deletions(-) (limited to 'lib') diff --git a/lib/Command/Config/FeedAdd.php b/lib/Command/Config/FeedAdd.php index 35bac6480..3c4820437 100644 --- a/lib/Command/Config/FeedAdd.php +++ b/lib/Command/Config/FeedAdd.php @@ -35,7 +35,7 @@ class FeedAdd extends Command { $this->setName('news:feed:add') ->setDescription('Add a feed') - ->addArgument('userID', InputArgument::REQUIRED, 'User to add the feed for') + ->addArgument('user-id', InputArgument::REQUIRED, 'User to add the feed for') ->addArgument('feed', InputArgument::REQUIRED, 'Feed to parse') ->addOption('folder', null, InputOption::VALUE_OPTIONAL, 'Folder ID') ->addOption('title', null, InputOption::VALUE_OPTIONAL, 'Feed title') @@ -54,13 +54,13 @@ class FeedAdd extends Command */ protected function execute(InputInterface $input, OutputInterface $output): int { - $url = $input->getArgument('feed'); - $user = $input->getArgument('userID'); - $folder = (int) $input->getOption('folder') ?? 0; - $title = $input->getOption('title'); - $username = $input->getOption('username'); - $full_text = $input->getOption('full-text'); - $password = $input->getOption('password'); + $user = $input->getArgument('user-id'); + $url = $input->getArgument('feed'); + $folder = (int) $input->getOption('folder') ?? 0; + $title = $input->getOption('title'); + $full_text = (bool) $input->getOption('full-text'); + $username = $input->getOption('username'); + $password = $input->getOption('password'); $feed = $this->feedService->create($user, $url, $folder, $full_text, $title, $username, $password); $this->feedService->fetch($feed); diff --git a/lib/Command/Config/FeedDelete.php b/lib/Command/Config/FeedDelete.php index c848b1fd4..fae1abdb2 100644 --- a/lib/Command/Config/FeedDelete.php +++ b/lib/Command/Config/FeedDelete.php @@ -32,8 +32,8 @@ class FeedDelete extends Command { $this->setName('news:feed:delete') ->setDescription('Remove a feed') - ->addArgument('userID', InputArgument::REQUIRED, 'User to remove the feed from') - ->addArgument('id', InputArgument::REQUIRED, 'Feed ID', null); + ->addArgument('user-id', InputArgument::REQUIRED, 'User to remove the feed from') + ->addArgument('feed-id', InputArgument::REQUIRED, 'Feed ID', null); } /** @@ -46,8 +46,8 @@ class FeedDelete extends Command */ protected function execute(InputInterface $input, OutputInterface $output): int { - $user = $input->getArgument('userID'); - $id = $input->getArgument('id'); + $user = $input->getArgument('user-id'); + $id = $input->getArgument('feed-id'); $this->feedService->delete($user, $id); diff --git a/lib/Command/Config/FeedList.php b/lib/Command/Config/FeedList.php index 0c547868c..3462ff5c8 100644 --- a/lib/Command/Config/FeedList.php +++ b/lib/Command/Config/FeedList.php @@ -33,7 +33,7 @@ class FeedList extends Command { $this->setName('news:feed:list') ->setDescription('List all feeds') - ->addArgument('userID', InputArgument::REQUIRED, 'User to list the feeds for') + ->addArgument('user-id', InputArgument::REQUIRED, 'User to list the feeds for') ->addOption('recursive', null, InputOption::VALUE_NONE, 'Fetch the feed recursively'); } @@ -47,7 +47,7 @@ class FeedList extends Command */ protected function execute(InputInterface $input, OutputInterface $output) { - $user = $input->getArgument('userID'); + $user = $input->getArgument('user-id'); $recursive = $input->getOption('recursive'); if ($recursive !== false) { diff --git a/lib/Command/Config/FolderAdd.php b/lib/Command/Config/FolderAdd.php index 5a7155e0c..257cf2dd6 100644 --- a/lib/Command/Config/FolderAdd.php +++ b/lib/Command/Config/FolderAdd.php @@ -32,7 +32,7 @@ class FolderAdd extends Command { $this->setName('news:folder:add') ->setDescription('Add a folder') - ->addArgument('userID', InputArgument::REQUIRED, 'User to add the folder for') + ->addArgument('user-id', InputArgument::REQUIRED, 'User to add the folder for') ->addArgument('name', InputArgument::REQUIRED, 'Folder name', null) ->addOption('parent', null, InputOption::VALUE_OPTIONAL, 'Parent folder'); } @@ -47,9 +47,9 @@ class FolderAdd extends Command */ protected function execute(InputInterface $input, OutputInterface $output): int { - $user = $input->getArgument('userID'); + $user = $input->getArgument('user-id'); $name = $input->getArgument('name'); - $parent = $input->getOption('parent') ?? 0; + $parent = (int) $input->getOption('parent') ?? 0; $this->folderService->create($user, $name, $parent); diff --git a/lib/Command/Config/FolderDelete.php b/lib/Command/Config/FolderDelete.php index c441bd615..bf7608b02 100644 --- a/lib/Command/Config/FolderDelete.php +++ b/lib/Command/Config/FolderDelete.php @@ -33,8 +33,8 @@ class FolderDelete extends Command { $this->setName('news:folder:delete') ->setDescription('Remove a folder') - ->addArgument('userID', InputArgument::REQUIRED, 'User to remove the folder from') - ->addArgument('id', InputArgument::REQUIRED, 'Folder ID', null); + ->addArgument('user-id', InputArgument::REQUIRED, 'User to remove the folder from') + ->addArgument('folder-id', InputArgument::REQUIRED, 'Folder ID', null); } /** @@ -47,8 +47,8 @@ class FolderDelete extends Command */ protected function execute(InputInterface $input, OutputInterface $output): int { - $user = $input->getArgument('userID'); - $id = $input->getArgument('id'); + $user = $input->getArgument('user-id'); + $id = $input->getArgument('folder-id'); if ($id === '0') { throw new ServiceException('Can not remove root folder!'); diff --git a/lib/Command/Config/FolderList.php b/lib/Command/Config/FolderList.php index 26c61f5cf..6340f4d57 100644 --- a/lib/Command/Config/FolderList.php +++ b/lib/Command/Config/FolderList.php @@ -34,7 +34,7 @@ class FolderList extends Command { $this->setName('news:folder:list') ->setDescription('List all folders') - ->addArgument('userID', InputArgument::REQUIRED, 'User to list the folders for') + ->addArgument('user-id', InputArgument::REQUIRED, 'User to list the folders for') ->addOption('recursive', null, InputOption::VALUE_NONE, 'Fetch the folder recursively'); } @@ -48,7 +48,7 @@ class FolderList extends Command */ protected function execute(InputInterface $input, OutputInterface $output) { - $user = $input->getArgument('userID'); + $user = $input->getArgument('user-id'); $recursive = $input->getOption('recursive'); if ($recursive !== false) { diff --git a/lib/Command/Config/OpmlExport.php b/lib/Command/Config/OpmlExport.php index 1642e8505..f51aed555 100644 --- a/lib/Command/Config/OpmlExport.php +++ b/lib/Command/Config/OpmlExport.php @@ -29,7 +29,7 @@ class OpmlExport extends Command { $this->setName('news:opml:export') ->setDescription('Print OPML file') - ->addArgument('userID', InputArgument::REQUIRED, 'User data to export'); + ->addArgument('user-id', InputArgument::REQUIRED, 'User data to export'); } /** @@ -42,7 +42,7 @@ class OpmlExport extends Command */ protected function execute(InputInterface $input, OutputInterface $output): int { - $user = $input->getArgument('userID'); + $user = $input->getArgument('user-id'); $output->write($this->opmlService->export($user)); return 0; diff --git a/lib/Command/ShowFeed.php b/lib/Command/ShowFeed.php index 8aace3528..0016470e6 100644 --- a/lib/Command/ShowFeed.php +++ b/lib/Command/ShowFeed.php @@ -10,18 +10,7 @@ */ namespace OCA\News\Command; -use FeedIo\FeedIo; -use Favicon\Favicon; - -use HTMLPurifier; -use OCA\News\Db\FeedMapper; -use OCA\News\Db\ItemMapper; use OCA\News\Fetcher\Fetcher; -use OCA\News\Service\FeedService; -use OCA\News\Utility\Time; -use OCP\IConfig; -use OCP\IL10N; -use OCP\ILogger; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; @@ -80,13 +69,15 @@ class ShowFeed extends Command try { list($feed, $items) = $this->feedFetcher->fetch($url, true, null, $fullTextEnabled, $user, $password); - $output->writeln("Feed: " . json_encode($feed, JSON_PRETTY_PRINT)); - $output->writeln("Items: " . json_encode($items, JSON_PRETTY_PRINT)); - return 0; - } catch (\Throwable $ex) { + } catch (\Exception $ex) { $output->writeln('Failed to fetch feed info:'); $output->writeln($ex->getMessage()); return 1; } + + $output->writeln("Feed: " . json_encode($feed, JSON_PRETTY_PRINT)); + $output->writeln("Items: " . json_encode($items, JSON_PRETTY_PRINT)); + + return 0; } } diff --git a/lib/Command/Updater/AfterUpdate.php b/lib/Command/Updater/AfterUpdate.php index 5746ff1e5..62ceb2710 100644 --- a/lib/Command/Updater/AfterUpdate.php +++ b/lib/Command/Updater/AfterUpdate.php @@ -46,7 +46,7 @@ class AfterUpdate extends Command { $count = $input->getArgument('purge_count'); - echo $this->itemService->purgeOverThreshold($count); + $output->writeln($this->itemService->purgeOverThreshold($count)); return 0; } diff --git a/lib/Command/Updater/AllFeeds.php b/lib/Command/Updater/AllFeeds.php index 6993d51ea..0dde6eac4 100644 --- a/lib/Command/Updater/AllFeeds.php +++ b/lib/Command/Updater/AllFeeds.php @@ -16,6 +16,12 @@ use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; +/** + * Class AllFeeds + * + * @deprecated use news:feed:list instead + * @package OCA\News\Command\Updater + */ class AllFeeds extends Command { /** diff --git a/lib/Command/Updater/UpdateFeed.php b/lib/Command/Updater/UpdateFeed.php index 5078e92a4..71e88a15f 100644 --- a/lib/Command/Updater/UpdateFeed.php +++ b/lib/Command/Updater/UpdateFeed.php @@ -11,16 +11,12 @@ namespace OCA\News\Command\Updater; -use Exception; - use OCA\News\Service\FeedServiceV2; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; -use OCA\News\Service\FeedService; - class UpdateFeed extends Command { /** @@ -57,12 +53,13 @@ class UpdateFeed extends Command try { $feed = $this->feedService->findForUser($userId, $feedId); $this->feedService->fetch($feed); - } catch (Exception $e) { + } catch (\Exception $e) { $output->writeln( 'Could not update feed with id ' . $feedId . ' and user ' . $userId . ': ' . $e->getMessage() . ' ' ); + return 1; } return 0; diff --git a/lib/Service/FolderServiceV2.php b/lib/Service/FolderServiceV2.php index 5d3f149ce..cf599456b 100644 --- a/lib/Service/FolderServiceV2.php +++ b/lib/Service/FolderServiceV2.php @@ -17,6 +17,7 @@ use OCA\News\Db\Feed; use OCA\News\Db\FeedMapperV2; use OCA\News\Db\Folder; use OCA\News\Db\FolderMapperV2; +use OCP\AppFramework\Db\Entity; use Psr\Log\LoggerInterface; /** @@ -79,14 +80,14 @@ class FolderServiceV2 extends Service return $this->mapper->findAll(); } - public function create(string $userId, string $name, int $parent = 0): void + public function create(string $userId, string $name, int $parent = 0): Entity { $folder = new Folder(); $folder->setUserId($userId) ->setName($name) ->setParentId($parent); - $this->mapper->insert($folder); + return $this->mapper->insert($folder); } public function delete(string $user, int $id) -- cgit v1.2.3