diff options
56 files changed, 802 insertions, 1432 deletions
diff --git a/app/news.php b/app/news.php index 259163904..aeb12f620 100644 --- a/app/news.php +++ b/app/news.php @@ -28,8 +28,9 @@ namespace OCA\News\App; use \OC\Files\View; use \OCP\AppFramework\App; - -use \OCA\News\Core\API; +use \OCA\News\Core\Logger; +use \OCA\News\Core\Db; +use \OCA\News\Core\Settings; use \OCA\News\Controller\PageController; use \OCA\News\Controller\FolderController; @@ -89,82 +90,96 @@ class News extends App { */ $container->registerService('PageController', function($c) { return new PageController( - $c->query('API'), - $c->query('Request') + $c->query('AppName'), + $c->query('Request'), + $c->query('Settings'), + $c->query('L10N') ); }); $container->registerService('FolderController', function($c) { return new FolderController( - $c->query('API'), + $c->query('AppName'), $c->query('Request'), $c->query('FolderBusinessLayer'), $c->query('FeedBusinessLayer'), - $c->query('ItemBusinessLayer') + $c->query('ItemBusinessLayer'), + $c->query('UserId') ); }); $container->registerService('FeedController', function($c) { return new FeedController( - $c->query('API'), + $c->query('AppName'), $c->query('Request'), $c->query('FolderBusinessLayer'), $c->query('FeedBusinessLayer'), - $c->query('ItemBusinessLayer') + $c->query('ItemBusinessLayer'), + $c->query('UserId'), + $c->query('Settings') ); }); $container->registerService('ItemController', function($c) { return new ItemController( - $c->query('API'), + $c->query('AppName'), $c->query('Request'), $c->query('FeedBusinessLayer'), - $c->query('ItemBusinessLayer') + $c->query('ItemBusinessLayer'), + $c->query('UserId'), + $c->query('Settings') ); }); $container->registerService('ExportController', function($c) { return new ExportController( - $c->query('API'), + $c->query('AppName'), $c->query('Request'), $c->query('FeedBusinessLayer'), $c->query('FolderBusinessLayer'), $c->query('ItemBusinessLayer'), - $c->query('OPMLExporter')); + $c->query('OPMLExporter'), + $c->query('UserId') + ); }); $container->registerService('ApiController', function($c) { return new ApiController( - $c->query('API'), + $c->query('AppName'), $c->query('Request'), - $c->query('Updater') + $c->query('Updater'), + $c->query('Settings') ); }); $container->registerService('FolderApiController', function($c) { return new FolderApiController( - $c->query('API'), + $c->query('AppName'), $c->query('Request'), $c->query('FolderBusinessLayer'), - $c->query('ItemBusinessLayer') + $c->query('ItemBusinessLayer'), + $c->query('UserId') ); }); $container->registerService('FeedApiController', function($c) { return new FeedApiController( - $c->query('API'), + $c->query('AppName'), $c->query('Request'), $c->query('FolderBusinessLayer'), $c->query('FeedBusinessLayer'), - $c->query('ItemBusinessLayer') + $c->query('ItemBusinessLayer'), + $c->query('Logger'), + $c->query('UserId') ); }); $container->registerService('ItemApiController', function($c) { return new ItemApiController( - $c->query('API'), + $c->query('AppName'), $c->query('Request'), - $c->query('ItemBusinessLayer') + $c->query('ItemBusinessLayer'), + $c->query('UserId') ); }); @@ -175,7 +190,7 @@ class News extends App { $container->registerService('FolderBusinessLayer', function($c) { return new FolderBusinessLayer( $c->query('FolderMapper'), - $c->query('API'), + $c->query('L10N'), $c->query('TimeFactory'), $c->query('Config') ); @@ -186,7 +201,8 @@ class News extends App { $c->query('FeedMapper'), $c->query('Fetcher'), $c->query('ItemMapper'), - $c->query('API'), + $c->query('Logger'), + $c->query('L10N'), $c->query('TimeFactory'), $c->query('Config'), $c->query('Enhancer'), @@ -209,38 +225,55 @@ class News extends App { */ $container->registerService('MapperFactory', function($c) { return new MapperFactory( - $c->query('API') + $c->query('Settings'), $c->query('Db') ); }); $container->registerService('FolderMapper', function($c) { return new FolderMapper( - $c->query('API') + $c->query('Db') ); }); $container->registerService('FeedMapper', function($c) { return new FeedMapper( - $c->query('API') + $c->query('Db') ); }); $container->registerService('ItemMapper', function($c) { return $c->query('MapperFactory')->getItemMapper( - $c->query('API') + $c->query('Db') ); }); - /** - * Utility - */ - $container->registerService('API', function($c){ - return new API( - $c->query('AppName') - ); + * Core + */ + $container->registerService('L10N', function($c) { + return \OC_L10N::get($c['AppName']); + }); + + $container->registerService('UserId', function($c) { + return \OCP\User::getUser(); + }); + + $container->registerService('Logger', function($c) { + return new Logger($c['AppName']); + }); + + $container->registerService('Db', function($c) { + return new Db($c['AppName']); + }); + + $container->registerService('Settings', function($c) { + return new Settings($c['AppName'], $c['UserId']); }); + + /** + * Utility + */ $container->registerService('ConfigView', function($c) { $view = new View('/news/config'); if (!$view->file_exists('')) { @@ -251,13 +284,13 @@ class News extends App { }); $container->registerService('Config', function($c) { - $config = new Config($c->query('ConfigView'), $c->query('API')); + $config = new Config($c->query('ConfigView'), $c->query('Logger')); $config->read('config.ini', true); return $config; }); $container->registerService('simplePieCacheDirectory', function($c) { - $directory = $c->query('API')->getSystemValue('datadirectory') . + $directory = $c->query('Settings')->getSystemValue('datadirectory') . '/news/cache/simplepie'; if(!is_dir($directory)) { @@ -267,7 +300,7 @@ class News extends App { }); $container->registerService('HTMLPurifier', function($c) { - $directory = $c->query('API')->getSystemValue('datadirectory') . + $directory = $c->query('Settings')->getSystemValue('datadirectory') . '/news/cache/purifier'; if(!is_dir($directory)) { @@ -329,9 +362,7 @@ class News extends App { }); $container->registerService('FeedFetcher', function($c) { - return new FeedFetcher( - $c->query('API'), - $c->query('SimplePieAPIFactory'), + return new FeedFetcher($c->query('SimplePieAPIFactory'), $c->query('FaviconFetcher'), $c->query('TimeFactory'), $c->query('simplePieCacheDirectory'), diff --git a/appinfo/app.php b/appinfo/app.php index 33dc340ab..486c234a7 100644 --- a/appinfo/app.php +++ b/appinfo/app.php @@ -24,31 +24,28 @@ namespace OCA\News; -use \OCA\News\Core\API; -$api = new API('news'); - -$api->addNavigationEntry(array( +\OCP\App::addNavigationEntry(array( // the string under which your app will be referenced in owncloud - 'id' => $api->getAppName(), + 'id' => 'news', // sorting weight for the navigation. The higher the number, the higher // will it be listed in the navigation 'order' => 10, // the route that will be shown on startup - 'href' => $api->linkToRoute('news.page.index'), + 'href' => \OCP\Util::linkToRoute('news.page.index'), // the icon that will be shown in the navigation // this file needs to exist in img/example.png - 'icon' => $api->imagePath('news.svg'), + 'icon' => \OCP\Util::imagePath('news', 'news.svg'), // the title of your application. This will be used in the // navigation or on the settings page of your app - 'name' => $api->getTrans()->t('News') + 'name' => \OC_L10N::get('news')->t('News') )); -$api->addRegularTask('OCA\News\Backgroundjob\Task', 'run'); -$api->connectHook('OC_User', 'pre_deleteUser', 'OCA\News\Hooks\User', 'deleteUser'); +\OCP\Backgroundjob::addRegularTask('OCA\News\Backgroundjob\Task', 'run'); +\OCP\Util::connectHook('OC_User', 'pre_deleteUser', 'OCA\News\Hooks\User', 'deleteUser'); diff --git a/businesslayer/feedbusinesslayer.php b/businesslayer/feedbusinesslayer.php index 1322bc73f..caa81e0d3 100644 --- a/businesslayer/feedbusinesslayer.php +++ b/businesslayer/feedbusinesslayer.php @@ -24,8 +24,7 @@ */ namespace OCA\News\BusinessLayer; - -use \OCA\News\Core\API; +use \OCA\News\Core\Logger; use \OCA\News\Db\DoesNotExistException; use \OCA\News\Db\Feed; use \OCA\News\Db\Item; @@ -41,14 +40,18 @@ class FeedBusinessLayer extends BusinessLayer { private $feedFetcher; private $itemMapper; - private $api; + private $logger; + private $l10n; private $timeFactory; private $autoPurgeMinimumInterval; private $enhancer; private $purifier; - public function __construct(FeedMapper $feedMapper, Fetcher $feedFetcher, - ItemMapper $itemMapper, API $api, + public function __construct(FeedMapper $feedMapper, + Fetcher $feedFetcher, + ItemMapper $itemMapper, + Logger $logger, + $l10n, $timeFactory, Config $config, Enhancer $enhancer, @@ -56,7 +59,8 @@ class FeedBusinessLayer extends BusinessLayer { parent::__construct($feedMapper); $this->feedFetcher = $feedFetcher; $this->itemMapper = $itemMapper; - $this->api = $api; + $this->logger = $logger; + $this->l10n = $l10n; $this->timeFactory = $timeFactory; $this->autoPurgeMinimumInterval = $config->getAutoPurgeMinimumInterval(); $this->enhancer = $enhancer; @@ -100,7 +104,7 @@ class FeedBusinessLayer extends BusinessLayer { try { $this->mapper->findByUrlHash($feed->getUrlHash(), $userId); throw new BusinessLayerConflictException( - $this->api->getTrans()->t('Can not add feed: Exists already')); + $this->l10n->t('Can not add feed: Exists already')); } catch(DoesNotExistException $ex){} // insert feed @@ -135,9 +139,9 @@ class FeedBusinessLayer extends BusinessLayer { return $feed; } catch(FetcherException $ex){ - $this->api->log($ex->getMessage(), 'debug'); + $this->logger->log($ex->getMessage(), 'debug'); throw new BusinessLayerException( - $this->api->getTrans()->t( + $this->l10n->t( 'Can not add feed: URL does not exist or has invalid xml')); } } @@ -153,7 +157,7 @@ class FeedBusinessLayer extends BusinessLayer { try { $this->update($feed->getId(), $feed->getUserId()); } catch(BusinessLayerException $ex){ - $this->api->log('Could not update feed ' . $ex->getMessage(), + $this->logger->log('Could not update feed ' . $ex->getMessage(), 'debug'); } } @@ -203,9 +207,9 @@ class FeedBusinessLayer extends BusinessLayer { } catch(FetcherException $ex){ // failed updating is not really a problem, so only log it - $this->api->log('Can not update feed with url ' . $existingFeed->getUrl() . + $this->logger->log('Can not update feed with url ' . $existingFeed->getUrl() . ': Not found or bad source', 'debug'); - $this->api->log($ex->getMessage(), 'debug'); + $this->logger->log($ex->getMessage(), 'debug'); } return $this->mapper->find($feedId, $userId); @@ -282,7 +286,7 @@ class FeedBusinessLayer extends BusinessLayer { $feed->setUserId($userId); $feed->setLink($url); $feed->setUrl($url); - $feed->setTitle($this->api->getTrans()->t('Articles without feed')); + $feed->setTitle($this->l10n->t('Articles without feed')); $feed->setAdded($this->timeFactory->getTime()); $feed->setFolderId(0); $feed->setPreventUpdate(true); diff --git a/businesslayer/folderbusinesslayer.php b/businesslayer/folderbusinesslayer.php index 80634abc8..5c5914c7a 100644 --- a/businesslayer/folderbusinesslayer.php +++ b/businesslayer/folderbusinesslayer.php @@ -25,7 +25,6 @@ namespace OCA\News\BusinessLayer; -use \OCA\News\Core\API; use \OCA\News\Db\Folder; use \OCA\News\Db\FolderMapper; use \OCA\News\Utility\Config; @@ -33,16 +32,16 @@ use \OCA\News\Utility\Config; class FolderBusinessLayer extends BusinessLayer { - private $api; + private $l10n; private $timeFactory; private $autoPurgeMinimumInterval; public function __construct(FolderMapper $folderMapper, - API $api, + $l10n, $timeFactory, Config $config){ parent::__construct($folderMapper); - $this->api = $api; + $this->l10n = $l10n; $this->timeFactory = $timeFactory; $this->autoPurgeMinimumInterval = $config->getAutoPurgeMinimumInterval(); } @@ -62,7 +61,7 @@ class FolderBusinessLayer extends BusinessLayer { if(count($existingFolders) > 0){ throw new BusinessLayerConflictException( - $this->api->getTrans()->t('Can not add folder: Exists already')); + $this->l10n->t('Can not add folder: Exists already')); } if(mb_strlen($folderName) === 0) { diff --git a/controller/apicontroller.php b/controller/apicontroller.php index 9e0ff2401..25b230016 100644 --- a/controller/apicontroller.php +++ b/controller/apicontroller.php @@ -32,17 +32,18 @@ use \OCP\AppFramework\Http\JSONResponse; use \OCP\AppFramework\Http\Response; use \OCA\News\Utility\Updater; -use \OCA\News\Core\API; +use \OCA\News\Core\Settings; class ApiController extends Controller { private $updater; - private $api; + private $settings; - public function __construct(API $api, IRequest $request, Updater $updater){ - parent::__construct($api->getAppName(), $request); + public function __construct($appName, IRequest $request, Updater $updater, + Settings $settings){ + parent::__construct($appName, $request); $this->updater = $updater; - $this->api = $api; + $this->settings = $settings; } @@ -52,7 +53,7 @@ class ApiController extends Controller { * @API */ public function version() { - $version = $this->api->getAppValue('installed_version'); + $version = $this->settings->getAppValue('installed_version'); $response = new JSONResponse(array('version' => $version)); return $response; } diff --git a/controller/exportcontroller.php b/controller/exportcontroller.php index 33cb05204..a0011f9e6 100644 --- a/controller/exportcontroller.php +++ b/controller/exportcontroller.php @@ -32,7 +32,6 @@ use \OCP\AppFramework\Http\JSONResponse; use \OCP\AppFramework\Http\Response; use \OCA\News\Http\TextDownloadResponse; -use \OCA\News\Core\API; use \OCA\News\BusinessLayer\FeedBusinessLayer; use \OCA\News\BusinessLayer\FolderBusinessLayer; use \OCA\News\BusinessLayer\ItemBusinessLayer; @@ -44,19 +43,21 @@ class ExportController extends Controller { private $folderBusinessLayer; private $feedBusinessLayer; private $itemBusinessLayer; - private $api; + private $userId; - public function __construct(API $api, IRequest $request, + public function __construct($appName, + IRequest $request, FeedBusinessLayer $feedBusinessLayer, FolderBusinessLayer $folderBusinessLayer, ItemBusinessLayer $itemBusinessLayer, - OPMLExporter $opmlExporter){ - parent::__construct($api->getAppName(), $request); + OPMLExporter $opmlExporter, + $userId){ + parent::__construct($appName, $request); $this->feedBusinessLayer = $feedBusinessLayer; $this->folderBusinessLayer = $folderBusinessLayer; $this->opmlExporter = $opmlExporter; $this->itemBusinessLayer = $itemBusinessLayer; - $this->api = $api; + $this->userId = $userId; } @@ -65,9 +66,8 @@ class ExportController extends Controller { * @NoCSRFRequired */ public function opml(){ - $userId = $this->api->getUserId(); - $feeds = $this->feedBusinessLayer->findAll($userId); - $folders = $this->folderBusinessLayer->findAll($userId); + $feeds = $this->feedBusinessLayer->findAll($this->userId); + $folders = $this->folderBusinessLayer->findAll($this->userId); $opml = $this->opmlExporter->build($folders, $feeds)->saveXML(); return new TextDownloadResponse($opml, 'subscriptions.opml', 'text/xml'); } @@ -78,9 +78,8 @@ class ExportController extends Controller { * @NoCSRFRequired */ public function articles(){ - $userId = $this->api->getUserId(); - $feeds = $this->feedBusinessLayer->findAll($userId); - $items = $this->itemBusinessLayer->getUnreadOrStarred($userId); + $feeds = $this->feedBusinessLayer->findAll($this->userId); + $items = $this->itemBusinessLayer->getUnreadOrStarred($this->userId); // build assoc array for fast access $feedsDict = array(); diff --git a/controller/feedapicontroller.php b/controller/feedapicontroller.php index 6537e51df..51aa48dd9 100644 --- a/controller/feedapicontroller.php +++ b/controller/feedapicontroller.php @@ -30,7 +30,7 @@ use \OCP\AppFramework\Controller; use \OCP\AppFramework\Http; use \OCP\AppFramework\Http\JSONResponse; -use \OCA\News\Core\API; +use \OCA\News\Core\Logger; use \OCA\News\BusinessLayer\FeedBusinessLayer; use \OCA\News\BusinessLayer\FolderBusinessLayer; use \OCA\News\BusinessLayer\ItemBusinessLayer; @@ -43,18 +43,22 @@ class FeedApiController extends Controller { private $itemBusinessLayer; private $feedBusinessLayer; private $folderBusinessLayer; - private $api; + private $userId; + private $logger; - public function __construct(API $api, + public function __construct($appName, IRequest $request, FolderBusinessLayer $folderBusinessLayer, FeedBusinessLayer $feedBusinessLayer, - ItemBusinessLayer $itemBusinessLayer){ - parent::__construct($api->getAppName(), $request); + ItemBusinessLayer $itemBusinessLayer, + Logger $logger, + $userId){ + parent::__construct($appName, $request); $this->folderBusinessLayer = $folderBusinessLayer; $this->feedBusinessLayer = $feedBusinessLayer; $this->itemBusinessLayer = $itemBusinessLayer; - $this->api = $api; + $this->userId = $userId; + $this->logger = $logger; } @@ -64,21 +68,20 @@ class FeedApiController extends Controller { * @API */ public function index() { - $userId = $this->api->getUserId(); $result = array( 'feeds' => array(), - 'starredCount' => $this->itemBusinessLayer->starredCount($userId) + 'starredCount' => $this->itemBusinessLayer->starredCount($this->userId) ); - foreach ($this->feedBusinessLayer->findAll($userId) as $feed) { + foreach ($this->feedBusinessLayer->findAll($this->userId) as $feed) { array_push($result['feeds'], $feed->toAPI()); } // check case when there are no items try { $result['newestItemId'] = - $this->itemBusinessLayer->getNewestItemId($userId); + $this->itemBusinessLayer->getNewestItemId($this->userId); } catch(BusinessLayerException $ex) {} return new JSONResponse($result); @@ -91,21 +94,20 @@ class FeedApiController extends Controller { * @API */ public function create() { - $userId = $this->api->getUserId(); $feedUrl = $this->params('url'); $folderId = (int) $this->params('folderId', 0); try { - $this->feedBusinessLayer->purgeDeleted($userId, false); + $this->feedBusinessLayer->purgeDeleted($this->userId, false); - $feed = $this->feedBusinessLayer->create($feedUrl, $folderId, $userId); + $feed = $this->feedBusinessLayer->create($feedUrl, $folderId, $this->userId); $result = array( 'feeds' => array($feed->toAPI()) ); try { $result['newestItemId'] = - $this->itemBusinessLayer->getNewestItemId($userId); + $this->itemBusinessLayer->getNewestItemId($this->userId); } catch(BusinessLayerException $ex) {} return new JSONResponse($result); @@ -126,11 +128,10 @@ class FeedApiController extends Controller { * @API */ public function delete() { - $userId = $this->api->getUserId(); $feedId = (int) $this->params('feedId'); try { - $this->feedBusinessLayer->delete($feedId, $userId); + $this->feedBusinessLayer->delete($feedId, $this->userId); return new JSONResponse(); } catch(BusinessLayerException $ex) { return new JSONResponse(array('message' => $ex->getMessage()), @@ -145,11 +146,10 @@ class FeedApiController extends Controller { * @API */ public function read() { - $userId = $this->api->getUserId(); $feedId = (int) $this->params('feedId'); $newestItemId = (int) $this->params('newestItemId'); - $this->itemBusinessLayer->readFeed($feedId, $newestItemId, $userId); + $this->itemBusinessLayer->readFeed($feedId, $newestItemId, $this->userId); return new JSONResponse(); } @@ -160,12 +160,11 @@ class FeedApiController extends Controller { * @API */ public function move() { - $userId = $this->api->getUserId(); $feedId = (int) $this->params('feedId'); $folderId = (int) $this->params('folderId'); try { - $this->feedBusinessLayer->move($feedId, $folderId, $userId); + $this->feedBusinessLayer->move($feedId, $folderId, $this->userId); return new JSONResponse(); } catch(BusinessLayerException $ex) { return new JSONResponse(array('message' => $ex->getMessage()), @@ -180,12 +179,11 @@ class FeedApiController extends Controller { * @API */ public function rename() { - $userId = $this->api->getUserId(); $feedId = (int) $this->params('feedId'); $feedTitle = $this->params('feedTitle'); try { - $this->feedBusinessLayer->rename($feedId, $feedTitle, $userId); + $this->feedBusinessLayer->rename($feedId, $feedTitle, $this->userId); return new JSONResponse(); } catch(BusinessLayerException $ex) { return new JSONResponse(array('message' => $ex->getMessage()), @@ -225,7 +223,7 @@ class FeedApiController extends Controller { $this->feedBusinessLayer->update($feedId, $userId); // ignore update failure (feed could not be reachable etc, we dont care) } catch(\Exception $ex) { - $this->api->log('Could not update feed ' . $ex->getMessage(), + $this->logger->log('Could not update feed ' . $ex->getMessage(), 'debug'); } return new JSONResponse(); diff --git a/controller/feedcontroller.php b/controller/feedcontroller.php index cfd4458a9..9d7f091bc 100644 --- a/controller/feedcontroller.php +++ b/controller/feedcontroller.php @@ -30,7 +30,7 @@ use \OCP\AppFramework\Controller; use \OCP\AppFramework\Http; use \OCP\AppFramework\Http\JSONResponse; -use \OCA\News\Core\API; +use \OCA\News\Core\Settings; use \OCA\News\BusinessLayer\ItemBusinessLayer; use \OCA\News\BusinessLayer\FeedBusinessLayer; use \OCA\News\BusinessLayer\FolderBusinessLayer; @@ -44,17 +44,22 @@ class FeedController extends Controller { private $feedBusinessLayer; private $folderBusinessLayer; private $itemBusinessLayer; - private $api; + private $userId; + private $settings; - public function __construct(API $api, IRequest $request, + public function __construct($appName, + IRequest $request, FolderBusinessLayer $folderBusinessLayer, FeedBusinessLayer $feedBusinessLayer, - ItemBusinessLayer $itemBusinessLayer){ - parent::__construct($api->getAppName(), $request); + ItemBusinessLayer $itemBusinessLayer, + $userId, + Settings $settings){ + parent::__construct($appName, $request); $this->feedBusinessLayer = $feedBusinessLayer; $this->folderBusinessLayer = $folderBusinessLayer; $this->itemBusinessLayer = $itemBusinessLayer; - $this->api = $api; + $this->userId = $userId; + $this->settings = $settings; } @@ -62,19 +67,18 @@ class FeedController extends Controller { * @NoAdminRequired */ public function index(){ - $userId = $this->api->getUserId(); // this method is also used to update the interface // because of this we also pass the starred count and the newest // item id which will be used for marking feeds read $params = array( - 'feeds' => $this->feedBusinessLayer->findAll($userId), - 'starred' => $this->itemBusinessLayer->starredCount($userId) + 'feeds' => $this->feedBusinessLayer->findAll($this->userId), + 'starred' => $this->itemBusinessLayer->starredCount($this->userId) ); try { $params['newestItemId'] = - $this->itemBusinessLayer->getNewestItemId($userId); + $this->itemBusinessLayer->getNewestItemId($this->userId); } catch (BusinessLayerException $ex) {} return new JSONResponse($params); @@ -85,9 +89,8 @@ class FeedController extends Controller { * @NoAdminRequired */ public function active(){ - $userId = $this->api->getUserId(); - $feedId = (int) $this->api->getUserValue('lastViewedFeedId'); - $feedType = $this->api->getUserValue('lastViewedFeedType'); + $feedId = (int) $this->settings->getUserValue('lastViewedFeedId'); + $feedType = $this->settings->getUserValue('lastViewedFeedType'); // cast from null to int is 0 if($feedType !== null){ @@ -97,10 +100,10 @@ class FeedController extends Controller { // check if feed or folder exists try { if($feedType === FeedType::FOLDER){ - $this->folderBusinessLayer->find($feedId, $userId); + $this->folderBusinessLayer->find($feedId, $this->userId); } elseif ($feedType === FeedType::FEED){ - $this->feedBusinessLayer->find($feedId, $userId); + $this->feedBusinessLayer->find($feedId, $this->userId); // if its the first launch, those values will be null } elseif($feedType === null){ @@ -129,21 +132,20 @@ class FeedController extends Controller { public function create(){ $url = $this->params('url'); $parentFolderId = (int) $this->params('parentFolderId'); - $userId = $this->api->getUserId(); try { // we need to purge deleted feeds if a feed is created to // prevent already exists exceptions - $this->feedBusinessLayer->purgeDeleted($userId, false); + $this->feedBusinessLayer->purgeDeleted($this->userId, false); - $feed = $this->feedBusinessLayer->create($url, $parentFolderId, $userId); + $feed = $this->feedBusinessLayer->create($url, $parentFolderId, $this->userId); $params = array( 'feeds' => array($feed) ); try { $params['newestItemId'] = - $this->itemBusinessLayer->getNewestItemId($userId); + $this->itemBusinessLayer->getNewestItemId($this->userId); } catch (BusinessLayerException $ex) {} return new JSONResponse($params); @@ -166,10 +168,9 @@ class FeedController extends Controller { */ public function delete(){ $feedId = (int) $this->params('feedId'); - $userId = $this->api->getUserId(); try { - $this->feedBusinessLayer->markDeleted($feedId, $userId); + $this->feedBusinessLayer->markDeleted($feedId, $this->userId); return new JSONResponse(); } catch(BusinessLayerException $ex) { return new JSONResponse(array( @@ -185,9 +186,8 @@ class FeedController extends Controller { public function update(){ try { $feedId = (int) $this->params('feedId'); - $userId = $this->api->getUserId(); - $feed = $this->feedBusinessLayer->update($feedId, $userId); + $feed = $this->feedBusinessLayer->update($feedId, $this->userId); $params = array( 'feeds' => array( @@ -216,10 +216,9 @@ class FeedController extends Controller { public function move(){ $feedId = (int) $this->params('feedId'); $parentFolderId = (int) $this->params('parentFolderId'); - $userId = $this->api->getUserId(); try { - $this->feedBusinessLayer->move($feedId, $parentFolderId, $userId); + $this->feedBusinessLayer->move($feedId, $parentFolderId, $this->userId); return new JSONResponse(); } catch(BusinessLayerException $ex) { return new JSONResponse(array( @@ -234,10 +233,9 @@ class FeedController extends Controller { public function rename() { $feedId = (int) $this->params('feedId'); $feedTitle = $this->params('feedTitle'); - $userId = $this->api->getUserId(); try { - $this->feedBusinessLayer->rename($feedId, $feedTitle, $userId); + $this->feedBusinessLayer->rename($feedId, $feedTitle, $this->userId); return new JSONResponse(); } catch(BusinessLayerException $ex) { return new JSONResponse(array( @@ -251,9 +249,8 @@ class FeedController extends Controller { */ public function import() { $json = $this->params('json'); - $userId = $this->api->getUserId(); - $feed = $this->feedBusinessLayer->importArticles($json, $userId); + $feed = $this->feedBusinessLayer->importArticles($json, $this->userId); $params = array(); if($feed) { @@ -268,11 +265,10 @@ class FeedController extends Controller { * @NoAdminRequired */ public function read(){ - $userId = $this->api->getUserId(); $feedId = (int) $this->params('feedId'); $highestItemId = (int) $this->params('highestItemId'); - $this->itemBusinessLayer->readFeed($feedId, $highestItemId, $userId); + $this->itemBusinessLayer->readFeed($feedId, $highestItemId, $this->userId); $params = array( 'feeds' => array( @@ -291,10 +287,9 @@ class FeedController extends Controller { */ public function restore(){ $feedId = (int) $this->params('feedId'); - $userId = $this->api->getUserId(); try { - $this->feedBusinessLayer->unmarkDeleted($feedId, $userId); + $this->feedBusinessLayer->unmarkDeleted($feedId, $this->userId); return new JSONResponse(); } catch(BusinessLayerException $ex) { return new JSONResponse(array( diff --git a/controller/folderapicontroller.php b/controller/folderapicontroller.php index 0954380c3..24a7ba151 100644 --- a/controller/folderapicontroller.php +++ b/controller/folderapicontroller.php @@ -30,7 +30,6 @@ use \OCP\AppFramework\Controller; use \OCP\AppFramework\Http; use \OCP\AppFramework\Http\JSONResponse; -use \OCA\News\Core\API; use \OCA\News\BusinessLayer\FolderBusinessLayer; use \OCA\News\BusinessLayer\ItemBusinessLayer; use \OCA\News\BusinessLayer\BusinessLayerException; @@ -42,16 +41,17 @@ class FolderApiController extends Controller { private $folderBusinessLayer; private $itemBusinessLayer; - private $api; + private $userId; - public function __construct(API $api, + public function __construct($appName, IRequest $request, FolderBusinessLayer $folderBusinessLayer, - ItemBusinessLayer $itemBusinessLayer){ - parent::__construct($api->getAppName(), $request); + ItemBusinessLayer $itemBusinessLayer, + $userId){ + parent::__construct($appName, $request); $this->folderBusinessLayer = $folderBusinessLayer; $this->itemBusinessLayer = $itemBusinessLayer; - $this->api = $api; + $this->userId = $userId; } @@ -61,12 +61,11 @@ class FolderApiController extends Controller { * @API */ public function index() { - $userId = $this->api->getUserId(); $result = array( 'folders' => array() ); - foreach ($this->folderBusinessLayer->findAll($userId) as $folder) { + foreach ($this->folderBusinessLayer->findAll($this->userId) as $folder) { array_push($result['folders'], $folder->toAPI()); } @@ -80,15 +79,14 @@ class FolderApiController extends Controller { * @API */ public function create() { - $userId = $this->api->getUserId(); $folderName = $this->params('name'); $result = array( 'folders' => array() ); try { - $this->folderBusinessLayer->purgeDeleted($userId, false); - $folder = $this->folderBusinessLayer->create($folderName, $userId); + $this->folderBusinessLayer->purgeDeleted($this->userId, false); + $folder = $this->folderBusinessLayer->create($folderName, $this->userId); array_push($result['folders'], $folder->toAPI()); return new JSONResponse($result); @@ -110,11 +108,10 @@ class FolderApiController extends Controller { * @API */ public function delete() { - $userId = $this->api->getUserId(); $folderId = (int) $this->params('folderId'); try { - $this->folderBusinessLayer->delete($folderId, $userId); + $this->folderBusinessLayer->delete($folderId, $this->userId); return new JSONResponse(); } catch(BusinessLayerException $ex) { return new JSONResponse(array('message' => $ex->getMessage()), @@ -129,12 +126,11 @@ class FolderApiController extends Controller { * @API */ public function update() { - $userId = $this->api->getUserId(); $folderId = (int) $this->params('folderId'); $folderName = $this->params('name'); try { - $this->folderBusinessLayer->rename($folderId, $folderName, $userId); + $this->folderBusinessLayer->rename($folderId, $folderName, $this->userId); return new JSONResponse(); } catch(BusinessLayerValidationException $ex) { @@ -158,11 +154,10 @@ class FolderApiController extends Controller { * @API */ public function read() { - $userId = $this->api->getUserId(); $folderId = (int) $this->params('folderId'); $newestItemId = (int) $this->params('newestItemId'); - $this->itemBusinessLayer->readFolder($folderId, $newestItemId, $userId); + $this->itemBusinessLayer->readFolder($folderId, $newestItemId, $this->userId); return new JSONResponse(); } diff --git a/controller/foldercontroller.php b/controller/foldercontroller.php index 557315665..1e0eea390 100644 --- a/controller/foldercontroller.php +++ b/controller/foldercontroller.php @@ -30,7 +30,6 @@ use \OCP\AppFramework\Controller; use \OCP\AppFramework\Http; use \OCP\AppFramework\Http\JSONResponse; -use \OCA\News\Core\API; use \OCA\News\BusinessLayer\FolderBusinessLayer; use \OCA\News\BusinessLayer\FeedBusinessLayer; use \OCA\News\BusinessLayer\ItemBusinessLayer; @@ -43,17 +42,18 @@ class FolderController extends Controller { private $folderBusinessLayer; private $feedBusinessLayer; private $itemBusinessLayer; - private $api; + private $userId; - public function __construct(API $api, IRequest $request, + public function __construct($appName, IRequest $request, FolderBusinessLayer $folderBusinessLayer, FeedBusinessLayer $feedBusinessLayer, - ItemBusinessLayer $itemBusinessLayer){ - parent::__construct($api->getAppName(), $request); + ItemBusinessLayer $itemBusinessLayer, + $userId){ + parent::__construct($appName, $request); $this->folderBusinessLayer = $folderBusinessLayer; $this->feedBusinessLayer = $feedBusinessLayer; $this->itemBusinessLayer = $itemBusinessLayer; - $this->api = $api; + $this->userId = $userId; } @@ -61,7 +61,7 @@ class FolderController extends Controller { * @NoAdminRequired */ public function index(){ - $folders = $this->folderBusinessLayer->findAll($this->api->getUserId()); + $folders = $this->folderBusinessLayer->findAll($this->userId); $result = array( 'folders' => $folders ); @@ -70,10 +70,9 @@ class FolderController extends Controller { private function setOpened($isOpened){ - $userId = $this->api->getUserId(); $folderId = (int) $this->params('folderId'); - $this->folderBusinessLayer->open($folderId, $isOpened, $userId); + $this->folderBusinessLayer->open($folderId, $isOpened, $this->userId); } @@ -111,15 +110,14 @@ class FolderController extends Controller { * @NoAdminRequired */ public function create(){ - $userId = $this->api->getUserId(); $folderName = $this->params('folderName'); try { // we need to purge deleted folders if a folder is created to // prevent already exists exceptions - $this->folderBusinessLayer->purgeDeleted($userId, false); + $this->folderBusinessLayer->purgeDeleted($this->userId, false); - $folder = $this->folderBusinessLayer->create($folderName, $userId); + $folder = $this->folderBusinessLayer->create($folderName, $this->userId); $params = array( 'folders' => array($folder) @@ -146,11 +144,10 @@ class FolderController extends Controller { * @NoAdminRequired */ public function delete(){ - $userId = $this->api->getUserId(); $folderId = (int) $this->params('folderId'); try { - $this->folderBusinessLayer->markDeleted($folderId, $userId); + $this->folderBusinessLayer->markDeleted($folderId, $this->userId); return new JSONResponse(); } catch (BusinessLayerException $ex){ return new JSONResponse(array( @@ -164,12 +161,13 @@ class FolderController extends Controller { * @NoAdminRequired */ public function rename(){ - $userId = $this->api->getUserId(); + $userId = $this->userId; $folderName = $this->params('folderName'); $folderId = (int) $this->params('folderId'); try { - $folder = $this->folderBusinessLayer->rename($folderId, $folderName, $userId); + $folder = $this->folderBusinessLayer->rename($folderId, $folderName, + $this->userId); $params = array( 'folders' => array($folder) @@ -197,14 +195,13 @@ class FolderController extends Controller { * @NoAdminRequired */ public function read(){ - $userId = $this->api->getUserId(); $folderId = (int) $this->params('folderId'); $highestItemId = (int) $this->params('highestItemId'); - $this->itemBusinessLayer->readFolder($folderId, $highestItemId, $userId); + $this->itemBusinessLayer->readFolder($folderId, $highestItemId, $this->userId); $params = array( - 'feeds' => $this->feedBusinessLayer->findAll($userId) + 'feeds' => $this->feedBusinessLayer->findAll($this->userId) ); return new JSONResponse($params); } @@ -214,11 +211,10 @@ class FolderController extends Controller { * @NoAdminRequired */ public function restore(){ - $userId = $this->api->getUserId(); $folderId = (int) $this->params('folderId'); try { - $this->folderBusinessLayer->unmarkDeleted($folderId, $userId); + $this->folderBusinessLayer->unmarkDeleted($folderId, $this->userId); return new JSONResponse(); } catch (BusinessLayerException $ex){ return new JSONResponse(array( diff --git a/controller/itemapicontroller.php b/controller/itemapicontroller.php index 3b0a5457d..7b1852545 100644 --- a/controller/itemapicontroller.php +++ b/controller/itemapicontroller.php @@ -32,19 +32,19 @@ use \OCP\AppFramework\Http\JSONResponse; use \OCA\News\BusinessLayer\ItemBusinessLayer; use \OCA\News\BusinessLayer\BusinessLayerException; -use \OCA\News\Core\API; class ItemApiController extends Controller { private $itemBusinessLayer; - private $api; + private $userId; - public function __construct(API $api, + public function __construct($appName, IRequest $request, - ItemBusinessLayer $itemBusinessLayer){ - parent::__construct($api->getAppName(), $request); + ItemBusinessLayer $itemBusinessLayer, + $userId){ + parent::__construct($appName, $request); $this->itemBusinessLayer = $itemBusinessLayer; - $this->api = $api; + $this->userId = $userId; } @@ -58,7 +58,6 @@ class ItemApiController extends Controller { 'items' => array() ); - $userId = $this->api->getUserId(); $batchSize = (int) $this->params('batchSize', 20); $offset = (int) $this->params('offset', 0); $type = (int) $this->params('type'); @@ -77,7 +76,7 @@ class ItemApiController extends Controller { $batchSize, $offset, $showAll, - $userId + $this->userId ); foreach ($items as $item) { @@ -98,7 +97,6 @@ class ItemApiController extends Controller { 'items' => array() ); - $userId = $this->api->getUserId(); $lastModified = (int) $this->params('lastModified', 0); $type = (int) $this->params('type'); $id = (int) $this->params('id'); @@ -108,7 +106,7 @@ class ItemApiController extends Controller { $type, $lastModified, true, - $userId + $this->userId ); foreach ($items as $item) { @@ -120,10 +118,9 @@ class ItemApiController extends Controller { private function setRead($isRead) { - $userId = $this->api->getUserId(); $itemId = (int) $this->params('itemId'); try { - $this->itemBusinessLayer->read($itemId, $isRead, $userId); + $this->itemBusinessLayer->read($itemId, $isRead, $this->userId); return new JSONResponse(); } catch(BusinessLayerException $ex){ return new JSONResponse(array('message' => $ex->getMessage()), @@ -133,11 +130,10 @@ class ItemApiController extends Controller { private function setStarred($isStarred) { - $userId = $this->api->getUserId(); $feedId = (int) $this->params('feedId'); $guidHash = $this->params('guidHash'); try { - $this->itemBusinessLayer->star($feedId, $guidHash, $isStarred, $userId); + $this->itemBusinessLayer->star($feedId, $guidHash, $isStarred, $this->userId); return new JSONResponse(); } catch(BusinessLayerException $ex){ return new JSONResponse(array('message' => $ex->getMessage()), @@ -192,21 +188,19 @@ class ItemApiController extends Controller { * @API */ public function readAll() { - $userId = $this->api->getUserId(); $newestItemId = (int) $this->params('newestItemId'); - $this->itemBusinessLayer->readAll($newestItemId, $userId); + $this->itemBusinessLayer->readAll($newestItemId, $this->userId); return new JSONResponse(); } private function setMultipleRead($isRead) { - $userId = $this->api->getUserId(); $items = $this->params('items'); foreach($items as $id) { try { - $this->itemBusinessLayer->read($id, $isRead, $userId); + $this->itemBusinessLayer->read($id, $isRead, $this->userId); } catch(BusinessLayerException $ex) { continue; } @@ -237,13 +231,12 @@ class ItemApiController extends Controller { private function setMultipleStarred($isStarred) { - $userId = $this->api->getUserId(); $items = $this->params('items'); foreach($items as $item) { try { $this->itemBusinessLayer->star($item['feedId'], - $item['guidHash'], $isStarred, $userId); + $item['guidHash'], $isStarred, $this->userId); } catch(BusinessLayerException $ex) { continue; } diff --git a/controller/itemcontroller.php b/controller/itemcontroller.php index 1e5170ac8..ff340ce30 100644 --- a/controller/itemcontroller.php +++ b/controller/itemcontroller.php @@ -30,7 +30,7 @@ use \OCP\AppFramework\Controller; use \OCP\AppFramework\Http; use \OCP\AppFramework\Http\JSONResponse; -use \OCA\News\Core\API; +use \OCA\News\Core\Settings; use \OCA\News\BusinessLayer\BusinessLayerException; use \OCA\News\BusinessLayer\ItemBusinessLayer; use \OCA\News\BusinessLayer\FeedBusinessLayer; @@ -40,15 +40,20 @@ class ItemController extends Controller { private $itemBusinessLayer; private $feedBusinessLayer; - private $api; + private $userId; + private $settings; - public function __construct(API $api, IRequest $request, + public function __construct($appName, + IRequest $request, FeedBusinessLayer $feedBusinessLayer, - ItemBusinessLayer $itemBusinessLayer){ - parent::__construct($api->getAppName(), $request); + ItemBusinessLayer $itemBusinessLayer, + $userId, + Settings $settings){ + parent::__construct($appName, $request); $this->itemBusinessLayer = $itemBusinessLayer; $this->feedBusinessLayer = $feedBusinessLayer; - $this->api = $api; + $this->userId = $userId; + $this->settings = $settings; } @@ -56,16 +61,15 @@ class ItemController extends Controller { * @NoAdminRequired */ public function index(){ - $userId = $this->api->getUserId(); - $showAll = $this->api->getUserValue('showAll') === '1'; + $showAll = $this->settings->getUserValue('showAll') === '1'; $limit = $this->params('limit'); $type = (int) $this->params('type'); $id = (int) $this->params('id'); $offset = (int) $this->params('offset', 0); - $this->api->setUserValue('lastViewedFeedId', $id); - $this->api->setUserValue('lastViewedFeedType', $type); + $this->settings->setUserValue('lastViewedFeedId', $id); + $this->settings->setUserValue('lastViewedFeedType', $type); $params = array(); @@ -76,13 +80,13 @@ class ItemController extends Controller { // out of sync if($offset === 0) { $params['newestItemId'] = - $this->itemBusinessLayer->getNewestItemId($userId); - $params['feeds'] = $this->feedBusinessLayer->findAll($userId); - $params['starred'] = $this->itemBusinessLayer->starredCount($userId); + $this->itemBusinessLayer->getNewestItemId($this->userId); + $params['feeds'] = $this->feedBusinessLayer->findAll($this->userId); + $params['starred'] = $this->itemBusinessLayer->starredCount($this->userId); } $params['items'] = $this->itemBusinessLayer->findAll($id, $type, $limit, - $offset, $showAll, $userId); + $offset, $showAll, $this->userId); // this gets thrown if there are no items // in that case just return an empty array } catch(BusinessLayerException $ex) {} @@ -95,8 +99,7 @@ class ItemController extends Controller { * @NoAdminRequired */ public function newItems() { - $userId = $this->api->getUserId(); - $showAll = $this->api->getUserValue('showAll') === '1'; + $showAll = $this->settings->getUserValue('showAll') === '1'; $type = (int) $this->params('type'); $id = (int) $this->params('id'); @@ -105,11 +108,11 @@ class ItemController extends Controller { $params = array(); try { - $params['newestItemId'] = $this->itemBusinessLayer->getNewestItemId($userId); - $params['feeds'] = $this->feedBusinessLayer->findAll($userId); - $params['starred'] = $this->itemBusinessLayer->starredCount($userId); + $params['newestItemId'] = $this->itemBusinessLayer->getNewestItemId($this->userId); + $params['feeds'] = $this->feedBusinessLayer->findAll($this->userId); + $params['starred'] = $this->itemBusinessLayer->starredCount($this->userId); $params['items'] = $this->itemBusinessLayer->findAllNew($id, $type, - $lastModified, $showAll, $userId); + $lastModified, $showAll, $this->userId); // this gets thrown if there are no items // in that case just return an empty array } catch(BusinessLayerException $ex) {} @@ -119,11 +122,10 @@ class ItemController extends Controller { private function setStarred($isStarred){ - $userId = $this->api->getUserId(); $feedId = (int) $this->params('feedId'); $guidHash = $this->params('guidHash'); - $this->itemBusinessLayer->star($feedId, $guidHash, $isStarred, $userId); + $this->itemBusinessLayer->star($feedId, $guidHash, $isStarred, $this->userId); } @@ -158,10 +160,9 @@ class ItemController extends Controller { private function setRead($isRead){ - $userId = $this->api->getUserId(); $itemId = (int) $this->params('itemId'); - $this->itemBusinessLayer->read($itemId, $isRead, $userId); + $this->itemBusinessLayer->read($itemId, $isRead, $this->userId); } @@ -199,13 +200,12 @@ class ItemController extends Controller { * @NoAdminRequired */ public function readAll(){ - $userId = $this->api->getUserId(); $highestItemId = (int) $this->params('highestItemId'); - $this->itemBusinessLayer->readAll($highestItemId, $userId); + $this->itemBusinessLayer->readAll($highestItemId, $this->userId); $params = array( - 'feeds' => $this->feedBusinessLayer->findAll($userId) + 'feeds' => $this->feedBusinessLayer->findAll($this->userId) ); return new JSONResponse($params); } diff --git a/controller/pagecontroller.php b/controller/pagecontroller.php index 137dcf514..25caf19e2 100644 --- a/controller/pagecontroller.php +++ b/controller/pagecontroller.php @@ -29,15 +29,18 @@ use \OCP\IRequest; use \OCP\AppFramework\Http\JSONResponse; use \OCP\AppFramework\Controller; -use \OCA\News\Core\API; +use \OCA\News\Core\Settings; class PageController extends Controller { - private $api; + private $settings; + private $l10n; - public function __construct(API $api, IRequest $request){ - parent::__construct($api->getAppName(), $request); - $this->api = $api; + public function __construct($appName, IRequest $request, Settings $settings, + $l10n){ + parent::__construct($appName, $request); + $this->settings = $settings; + $this->l10n = $l10n; } @@ -54,9 +57,9 @@ class PageController extends Controller { * @NoAdminRequired */ public function settings() { - $showAll = $this->api->getUserValue('showAll'); - $compact = $this->api->getUserValue('compact'); - $language = $this->api->getTrans()->findLanguage(); + $showAll = $this->settings->getUserValue('showAll'); + $compact = $this->settings->getUserValue('compact'); + $language = $this->l10n->findLanguage(); $settings = array( 'showAll' => $showAll === '1', @@ -76,11 +79,11 @@ class PageController extends Controller { $isCompact = $this->params('compact', null); if($isShowAll !== null) { - $this->api->setUserValue('showAll', $isShowAll); + $this->settings->setUserValue('showAll', $isShowAll); } if($isCompact !== null) { - $this->api->setUserValue('compact', $isCompact); + $this->settings->setUserValue('compact', $isCompact); } return new JSONResponse(); diff --git a/core/api.php b/core/api.php deleted file mode 100644 index 96b534a4c..000000000 --- a/core/api.php +++ /dev/null @@ -1,546 +0,0 @@ -<?php - -/** - * ownCloud - News - * - * @author Bernhard Posselt - * @copyright 2012 Bernhard Posselt dev@bernhard-posselt.com - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this library. If not, see <http://www.gnu.org/licenses/>. - * - */ - - -namespace OCA\News\Core; - - -/** - * This is used to wrap the owncloud static api calls into an object to make the - * code better abstractable for use in the dependency injection container - * - * Should you find yourself in need for more methods, simply inherit from this - * class and add your methods - */ -class API { - - private $appName; - - /** - * constructor - * @param string $appName the name of your application - */ - public function __construct($appName){ - $this->appName = $appName; - } - - - /** - * used to return the appname of the set application - * @return string the name of your application - */ - public function getAppName(){ - return $this->appName; - } - - - /** - * Creates a new navigation entry - * @param array $entry containing: id, name, order, icon and href key - */ - public function addNavigationEntry(array $entry){ - \OCP\App::addNavigationEntry($entry); - } - - - /** - * Gets the userid of the current user - * @return string the user id of the current user - */ - public function getUserId(){ - return \OCP\User::getUser(); - } - - - /** - * Sets the current navigation entry to the currently running app - */ - public function activateNavigationEntry(){ - \OCP\App::setActiveNavigationEntry($this->appName); - } - - - /** - * Adds a new javascript file - * @param string $scriptName the name of the javascript in js/ without the suffix - * @param string $appName the name of the app, defaults to the current one - */ - public function addScript($scriptName, $appName=null){ - if($appName === null){ - $appName = $this->appName; - } - \OCP\Util::addScript($appName, $scriptName); - } - - - /** - * Adds a new css file - * @param string $styleName the name of the css file in css/without the suffix - * @param string $appName the name of the app, defaults to the current one - */ - public function addStyle($styleName, $appName=null){ - if($appName === null){ - $appName = $this->appName; - } - \OCP\Util::addStyle($appName, $styleName); - } - - - /** - * shorthand for addScript for files in the 3rdparty directory - * @param string $name the name of the file without the suffix - */ - public function add3rdPartyScript($name){ - \OCP\Util::addScript($this->appName . '/3rdparty', $name); - } - - - /** - * shorthand for addStyle for files in the 3rdparty directory - * @param string $name the name of the file without the suffix - */ - public function add3rdPartyStyle($name){ - \OCP\Util::addStyle($this->appName . '/3rdparty', $name); - } - - /** - * Looks up a systemwide defined value - * @param string $key the key of the value, under which it was saved - * @return string the saved value - */ - public function getSystemValue($key){ - return \OCP\Config::getSystemValue($key, ''); - } - - - /** - * Sets a new systemwide value - * @param string $key the key of the value, under which will be saved - * @param string $value the value that should be stored - */ - public function setSystemValue($key, $value){ - return \OCP\Config::setSystemValue($key, $value); - } - - - /** - * Looks up an appwide defined value - * @param string $key the key of the value, under which it was saved - * @return string the saved value - */ - public function getAppValue($key, $appName=null){ - if($appName === null){ - $appName = $this->appName; - } - return \OCP\Config::getAppValue($appName, $key, ''); - } - - - /** - * Writes a new appwide value - * @param string $key the key of the value, under which will be saved - * @param string $value the value that should be stored - */ - public function setAppValue($key, $value, $appName=null){ - if($appName === null){ - $appName = $this->appName; - } - return \OCP\Config::setAppValue($appName, $key, $value); - } - - - - /** - * Shortcut for setting a user defined value - * @param string $key the key under which the value is being stored - * @param string $value the value that you want to store - * @param string $userId the userId of the user that we want to store the value under, defaults to the current one - */ - public function setUserValue($key, $value, $userId=null){ - if($userId === null){ - $userId = $this->getUserId(); - } - \OCP\Config::setUserValue($userId, $this->appName, $key, $value); - } - - - /** - * Shortcut for getting a user defined value - * @param string $key the key under which the value is being stored - * @param string $userId the userId of the user that we want to store the value under, defaults to the current one - */ - public function getUserValue($key, $userId=null){ - if($userId === null){ - $userId = $this->getUserId(); - } - return \OCP\Config::getUserValue($userId, $this->appName, $key); - } - - - /** - * Returns the translation object - * @return \OC_L10N the translation object - */ - public function getTrans(){ - # TODO: use public api - return \OC_L10N::get($this->appName); - } - - - /** - * Used to abstract the owncloud database access away - * @param string $sql the sql query with ? placeholder for params - * @param int $limit the maximum number of rows - * @param int $offset from which row we want to start - * @return \OCP\DB a query object - */ - public function prepareQuery($sql, $limit=null, $offset=null){ - return \OCP\DB::prepare($sql, $limit, $offset); - } - - - /** - * Used to get the id of the just inserted element - * @param string $tableName the name of the table where we inserted the item - * @return int the id of the inserted element - */ - public function getInsertId($tableName){ - return \OCP\DB::insertid($tableName); - } - - - /** - * Returns the URL for a route - * @param string $routeName the name of the route - * @param array $arguments an array with arguments which will be filled into the url - * @return string the url - */ - public function linkToRoute($routeName, $arguments=array()){ - return \OCP\Util::linkToRoute($routeName, $arguments); - } - - - /** - * Returns an URL for an image or file - * @param string $file the name of the file - * @param string $appName the name of the app, defaults to the current one - */ - public function linkTo($file, $appName=null){ - if($appName === null){ - $appName = $this->appName; - } - return \OCP\Util::linkTo($appName, $file); - } - - - /** - * Returns the link to an image, like link to but only with prepending img/ - * @param string $file the name of the file - * @param string $appName the name of the app, defaults to the current one - */ - public function imagePath($file, $appName=null){ - if($appName === null){ - $appName = $this->appName; - } - return \OCP\Util::imagePath($appName, $file); - } - - - /** - * Makes an URL absolute - * @param string $url the url - * @return string the absolute url - */ - public function getAbsoluteURL($url){ - # TODO: use public api - return \OC_Helper::makeURLAbsolute($url); - } - - - /** - * links to a file - * @param string $file the name of the file - * @param string $appName the name of the app, defaults to the current one - * @deprecated replaced with linkToRoute() - * @return string the url - */ - public function linkToAbsolute($file, $appName=null){ - if($appName === null){ - $appName = $this->appName; - } - return \OCP\Util::linkToAbsolute($appName, $file); - } - - - /** - * Checks if the current user is logged in - * @return bool true if logged in - */ - public function isLoggedIn(){ - return \OCP\User::isLoggedIn(); - } - - - /** - * Checks if a user is an admin - * @param string $userId the id of the user - * @return bool true if admin - */ - public function isAdminUser($userId){ - # TODO: use public api - return \OC_User::isAdminUser($userId); - } - - - /** - * Checks if a user is an subadmin - * @param string $userId the id of the user - * @return bool true if subadmin - */ - public function isSubAdminUser($userId){ - # TODO: use public api - return \OC_SubAdmin::isSubAdmin($userId); - } - - - /** - * Checks if the CSRF check was correct - * @return bool true if CSRF check passed - */ - public function passesCSRFCheck(){ - # TODO: use public api - return \OC_Util::isCallRegistered(); - } - - - /** - * Checks if an app is enabled - * @param string $appName the name of an app - * @return bool true if app is enabled - */ - public function isAppEnabled($appName){ - return \OCP\App::isEnabled($appName); - } - - - /** - * Writes a function into the error log - * @param string $msg the error message to be logged - * @param int $level the error level - */ - public function log($msg, $level=null){ - switch($level){ - case 'debug': - $level = \OCP\Util::DEBUG; - break; - case 'info': - $level = \OCP\Util::INFO; - break; - case 'warn': - $level = \OCP\Util::WARN; - break; - case 'fatal': - $level = \OCP\Util::FATAL; - break; - default: - $level = \OCP\Util::ERROR; - break; - } - \OCP\Util::writeLog($this->appName, $msg, $level); - } - - - /** - * Returns a template - * @param string $templateName the name of the template - * @param string $renderAs how it should be rendered - * @param string $appName the name of the app - * @return \OCP\Template a new template - */ - public function getTemplate($templateName, $renderAs='user', $appName=null){ - if($appName === null){ - $appName = $this->appName; - } - - if($renderAs === 'blank'){ - return new \OCP\Template($appName, $templateName); - } else { - return new \OCP\Template($appName, $templateName, $renderAs); - } - } - - - /** - * turns an owncloud path into a path on the filesystem - * @param string path the path to the file on the oc filesystem - * @return string the filepath in the filesystem - */ - public function getLocalFilePath($path){ - # TODO: use public api - return \OC_Filesystem::getLocalFile($path); - } - - - /** - * used to return and open a new eventsource - * @return \OC_EventSource a new open EventSource class - */ - public function openEventSource(){ - # TODO: use public api - return new \OC_EventSource(); - } - - /** - * @brief connects a function to a hook - * @param string $signalClass class name of emitter - * @param string $signalName name of signal - * @param string $slotClass class name of slot - * @param string $slotName name of slot, in another word, this is the - * name of the method that will be called when registered - * signal is emitted. - * @return bool, always true - */ - public function connectHook($signalClass, $signalName, $slotClass, $slotName) { - return \OCP\Util::connectHook($signalClass, $signalName, $slotClass, $slotName); - } - - /** - * @brief Emits a signal. To get data from the slot use references! - * @param string $signalClass class name of emitter - * @param string $signalName name of signal - * @param array $params defautl: array() array with additional data - * @return bool, true if slots exists or false if not - */ - public function emitHook($signalClass, $signalName, $params = array()) { - return \OCP\Util::emitHook($signalClass, $signalName, $params); - } - - /** - * @brief clear hooks - * @param string $signalClass - * @param string $signalName - */ - public function clearHook($signalClass=false, $signalName=false) { - if ($signalClass) { - \OC_Hook::clear($signalClass, $signalName); - } - } - - /** - * Gets the content of an URL by using CURL or a fallback if it is not - * installed - * @param string $url the url that should be fetched - * @return string the content of the webpage - */ - public function getUrlContent($url) { - return \OC_Util::getUrlContent($url); - } - - /** - * Register a backgroundjob task - * @param string $className full namespace and class name of the class - * @param string $methodName the name of the static method that should be - * called - */ - public function addRegularTask($className, $methodName) { - \OCP\Backgroundjob::addRegularTask($className, $methodName); - } - - /** - * Tells ownCloud to include a template in the admin overview - * @param string $mainPath the path to the main php file without the php - * suffix, relative to your apps directory! not the template directory - * @param string $appName the name of the app, defaults to the current one - */ - public function registerAdmin($mainPath, $appName=null) { - if($appName === null){ - $appName = $this->appName; - } - - \OCP\App::registerAdmin($appName, $mainPath); - } - - /** - * Do a user login - * @param string $user the username - * @param string $password the password - * @return bool true if successful - */ - public function login($user, $password) { - return \OC_User::login($user, $password); - } - - /** - * @brief Loggs the user out including all the session data - * Logout, destroys session - */ - public function logout() { - return \OCP\User::logout(); - } - - /** - * get the filesystem info - * - * @param string $path - * @return array with the following keys: - * - size - * - mtime - * - mimetype - * - encrypted - * - versioned - */ - public function getFileInfo($path) { - return \OC\Files\Filesystem::getFileInfo($path); - } - - /** - * get the absolute path of an file - * @deprecated - * @see getView - * - * @param string $path the path inside ownCloud - * @return string the absolute path (with fakeRoot) - */ - public function getAbsolutePath($path) { - return \OC\Files\Filesystem::getView()->getAbsolutePath($path); - } - - /** - * get the view - * - * @return object View instance - */ - public function getView() { - return \OC\Files\Filesystem::getView(); - } - - /** - * search the file base by mime type - * - * @param string $mimetype the mimetype to search for - * @return array search results - */ - public function searchByMime($mimetype) { - return \OC\Files\Filesystem::searchByMime($mimetype); - } -} diff --git a/core/db.php b/core/db.php new file mode 100644 index 000000000..ed9a0ee98 --- /dev/null +++ b/core/db.php @@ -0,0 +1,57 @@ +<?php + +/** + * ownCloud - News + * + * @author Bernhard Posselt + * @copyright 2012 Bernhard Posselt dev@bernhard-posselt.com + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\News\Core; + +class Db { + + protected $appName; + + public function __construct($appName) { + $this->appName = $appName; + } + + + /** + * Used to abstract the owncloud database access away + * @param string $sql the sql query with ? placeholder for params + * @param int $limit the maximum number of rows + * @param int $offset from which row we want to start + * @return \OCP\DB a query object + */ + public function prepareQuery($sql, $limit=null, $offset=null){ + return \OCP\DB::prepare($sql, $limit, $offset); + } + + + /** + * Used to get the id of the just inserted element + * @param string $tableName the name of the table where we inserted the item + * @return int the id of the inserted element + */ + public function getInsertId($tableName){ + return \OCP\DB::insertid($tableName); + } + + +} diff --git a/core/logger.php b/core/logger.php new file mode 100644 index 000000000..68789e94c --- /dev/null +++ b/core/logger.php @@ -0,0 +1,62 @@ +<?php + +/** + * ownCloud - News + * + * @author Bernhard Posselt + * @copyright 2012 Bernhard Posselt dev@bernhard-posselt.com + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\News\Core; + +class Logger { + + protected $appName; + + public function __construct($appName) { + $this->appName = $appName; + } + + + /** + * Writes a function into the error log + * @param string $msg the error message to be logged + * @param int $level the error level + */ + public function log($msg, $level=null){ + switch($level){ + case 'debug': + $level = \OCP\Util::DEBUG; + break; + case 'info': + $level = \OCP\Util::INFO; + break; + case 'warn': + $level = \OCP\Util::WARN; + break; + case 'fatal': + $level = \OCP\Util::FATAL; + break; + default: + $level = \OCP\Util::ERROR; + break; + } + \OCP\Util::writeLog($this->appName, $msg, $level); + } + + +} diff --git a/core/settings.php b/core/settings.php new file mode 100644 index 000000000..98392332f --- /dev/null +++ b/core/settings.php @@ -0,0 +1,111 @@ +<?php + +/** + * ownCloud - News + * + * @author Bernhard Posselt + * @copyright 2012 Bernhard Posselt dev@bernhard-posselt.com + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\News\Core; + +class Settings { + + protected $appName; + protected $userId; + + public function __construct($appName, $userId) { + $this->appName = $appName; + $this->userId = $userId; + } + + + /** + * Looks up a systemwide defined value + * @param string $key the key of the value, under which it was saved + * @return string the saved value + */ + public function getSystemValue($key){ + return \OCP\Config::getSystemValue($key, ''); + } + + + /** + * Sets a new systemwide value + * @param string $key the key of the value, under which will be saved + * @param string $value the value that should be stored + */ + public function setSystemValue($key, $value){ + return \OCP\Config::setSystemValue($key, $value); + } + + + /** + * Looks up an appwide defined value + * @param string $key the key of the value, under which it was saved + * @return string the saved value + */ + public function getAppValue($key, $appName=null){ + if($appName === null){ + $appName = $this->appName; + } + return \OCP\Config::getAppValue($appName, $key, ''); + } + + + /** + * Writes a new appwide value + * @param string $key the key of the value, under which will be saved + * @param string $value the value that should be stored + */ + public function setAppValue($key, $value, $appName=null){ + if($appName === null){ + $appName = $this->appName; + } + return \OCP\Config::setAppValue($appName, $key, $value); + } + + + + /** + * Shortcut for setting a user defined value + * @param string $key the key under which the value is being stored + * @param string $value the value that you want to store + * @param string $userId the userId of the user that we want to store the value under, defaults to the current one + */ + public function setUserValue($key, $value, $userId=null){ + if($userId === null){ + $userId = $this->userId; + } + \OCP\Config::setUserValue($userId, $this->appName, $key, $value); + } + + + /** + * Shortcut for getting a user defined value + * @param string $key the key under which the value is being stored + * @param string $userId the userId of the user that we want to store the value under, defaults to the current one + */ + public function getUserValue($key, $userId=null){ + if($userId === null){ + $userId = $this->userId; + } + return \OCP\Config::getUserValue($userId, $this->appName, $key); + } + + +}
\ No newline at end of file diff --git a/db/feedmapper.php b/db/feedmapper.php index 4d88a4667..06267b19d 100644 --- a/db/feedmapper.php +++ b/db/feedmapper.php @@ -25,14 +25,14 @@ namespace OCA\News\Db; -use \OCA\News\Core\API; +use \OCA\News\Core\Db; class FeedMapper extends Mapper implements IMapper { - public function __construct(API $api) { - parent::__construct($api, 'news_feeds'); + public function __construct(Db $db) { + parent::__construct($db, 'news_feeds', '\OCA\News\Db\Feed'); } diff --git a/db/foldermapper.php b/db/foldermapper.php index d273ce159..f3bedd70e 100644 --- a/db/foldermapper.php +++ b/db/foldermapper.php @@ -25,13 +25,13 @@ namespace OCA\News\Db; -use \OCA\News\Core\API; +use \OCA\News\Core\Db; class FolderMapper extends Mapper implements IMapper { - public function __construct(API $api) { - parent::__construct($api, 'news_folders'); + public function __construct(Db $db) { + parent::__construct($db, 'news_folders', '\OCA\News\Db\Folder'); } public function find($id, $userId){ diff --git a/db/itemmapper.php b/db/itemmapper.php index aea0180d7..33b09e357 100644 --- a/db/itemmapper.php +++ b/db/itemmapper.php @@ -24,12 +24,12 @@ namespace OCA\News\Db; -use \OCA\News\Core\API; +use \OCA\News\Core\Db; class ItemMapper extends Mapper implements IMapper { - public function __construct(API $api){ - parent::__construct($api, 'news_items', '\OCA\News\Db\Item'); + public function __construct(Db $db){ + parent::__construct($db, 'news_items', '\OCA\News\Db\Item'); } diff --git a/db/mapper.php b/db/mapper.php index 42f1efa93..dae59a84e 100644 --- a/db/mapper.php +++ b/db/mapper.php @@ -26,7 +26,7 @@ namespace OCA\News\Db; -use \OCA\News\Core\API; +use \OCA\News\Core\Db; /** @@ -37,15 +37,16 @@ abstract class Mapper { protected $tableName; protected $entityClass; + private $db; /** - * @param API $api Instance of the API abstraction layer + * @param Db $db Instance of the Db abstraction layer * @param string $tableName the name of the table. set this to allow entity * @param string $entityClass the name of the entity that the sql should be * mapped to queries without using sql */ - public function __construct(API $api, $tableName, $entityClass=null){ - $this->api = $api; + public function __construct(Db $db, $tableName, $entityClass=null){ + $this->db = $db; $this->tableName = '*PREFIX*' . $tableName; // if not given set the entity name to the class without the mapper part @@ -114,7 +115,7 @@ abstract class Mapper { $this->execute($sql, $params); - $entity->setId((int) $this->api->getInsertId($this->tableName)); + $entity->setId((int) $this->db->getInsertId($this->tableName)); return $entity; } @@ -177,7 +178,7 @@ abstract class Mapper { * @return \PDOStatement the database query result */ protected function execute($sql, array $params=array(), $limit=null, $offset=null){ - $query = $this->api->prepareQuery($sql, $limit, $offset); + $query = $this->db->prepareQuery($sql, $limit, $offset); $index = 1; // bindParam is 1 indexed foreach($params as $param) { diff --git a/db/mapperfactory.php b/db/mapperfactory.php index 564819356..178e62160 100644 --- a/db/mapperfactory.php +++ b/db/mapperfactory.php @@ -25,25 +25,27 @@ namespace OCA\News\Db; -use \OCA\News\Core\API; +use \OCA\News\Core\Settings; +use \OCA\News\Core\Db; class MapperFactory { - private $api; + private $settings; - public function __construct(API $api) { - $this->api = $api; + public function __construct(Settings $settings, Db $db) { + $this->settings = $settings; + $this->db = $db; } public function getItemMapper() { - switch($this->api->getSystemValue('dbtype')) { + switch($this->settings->getSystemValue('dbtype')) { case 'pgsql': - return new \OCA\News\Db\Postgres\ItemMapper($this->api); + return new \OCA\News\Db\Postgres\ItemMapper($this->db); break; default: - return new ItemMapper($this->api); + return new ItemMapper($this->db); break; } } diff --git a/db/postgres/itemmapper.php b/db/postgres/itemmapper.php index e24ea373d..d5395f008 100644 --- a/db/postgres/itemmapper.php +++ b/db/postgres/itemmapper.php @@ -24,7 +24,7 @@ namespace OCA\News\Db\Postgres; -use \OCA\News\Core\API; +use \OCA\News\Core\Db; use \OCA\News\Db\DoesNotExistException; use \OCA\News\Db\MultipleObjectsReturnedException; use \OCA\News\Db\Mapper; @@ -33,8 +33,8 @@ use \OCA\News\Db\StatusFlag; class ItemMapper extends \OCA\News\Db\ItemMapper { - public function __construct(API $api){ - parent::__construct($api); + public function __construct(Db $db){ + parent::__construct($db, 'news_items', '\OCA\News\Db\Item'); } diff --git a/fetcher/feedfetcher.php b/fetcher/feedfetcher.php index 6808465c2..61d800941 100644 --- a/fetcher/feedfetcher.php +++ b/fetcher/feedfetcher.php @@ -25,7 +25,6 @@ namespace OCA\News\Fetcher; -use \OCA\News\Core\API; use \OCA\News\Db\Item; use \OCA\News\Db\Feed; use \OCA\News\Utility\FaviconFetcher; @@ -35,7 +34,6 @@ use \OCA\News\Utility\Config; class FeedFetcher implements IFeedFetcher { - private $api; private $cacheDirectory; private $cacheDuration; private $faviconFetcher; @@ -46,13 +44,11 @@ class FeedFetcher implements IFeedFetcher { private $proxyPort; private $proxyAuth; - public function __construct(API $api, - SimplePieAPIFactory $simplePieFactory, + public function __construct(SimplePieAPIFactory $simplePieFactory, FaviconFetcher $faviconFetcher, $time, $cacheDirectory, Config $config){ - $this->api = $api; $this->cacheDirectory = $cacheDirectory; $this->cacheDuration = $config->getSimplePieCacheDuration(); $this->fetchTimeout = $config->getFeedFetcherTimeout(); diff --git a/tests/integration/db/ItemMapperIntegrationTest.php b/tests/integration/db/ItemMapperIntegrationTest.php deleted file mode 100644 index 186dca14f..000000000 --- a/tests/integration/db/ItemMapperIntegrationTest.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php - -/** -* ownCloud - News -* -* @author Alessandro Cosentino -* @author Bernhard Posselt -* @copyright 2012 Alessandro Cosentino cosenal@gmail.com -* @copyright 2012 Bernhard Posselt dev@bernhard-posselt.com -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ - -namespace OCA\News\Db; - -use \OCA\News\Utility\MapperTestUtility; - -require_once(__DIR__ . "/../../classloader.php"); - - -class InMemoryDatabase { - - private $db; - - public function __construct(){ - $this->db = new \PDO('sqlite::memory:'); - } - - - public function prepare($sql){ - $count = 1; - $sql = str_replace('*PREFIX*', 'oc', $sql, $count); - var_dump($this->db->prepare($sql)); - return $this->db->prepare($sql); - } - - -} - - - -class ItemMapperIntegrationTest extends MapperTestUtility { - - protected $api; - - private $mapper; - private $db; - - protected function setUp(){ - $db = new InMemoryDatabase(); - $prepare = function($sql) use ($db){ - return $db->prepare($sql); - }; - - $this->api = $this->getMock('OCA\News\Core\API', - array('prepareQuery', 'getInsertId'), array('news')); - $this->api->expects($this->any()) - ->method('prepareQuery') - ->will($this->returnCallback($prepare)); - $this->mapper = new ItemMapper($this->api); - } - - - public function testFind(){ - //$this->mapper->find(3, 'john'); - } - - -}
\ No newline at end of file diff --git a/tests/unit/articleenhancer/EnhancerTest.php b/tests/unit/articleenhancer/EnhancerTest.php index 7f782cf55..663714590 100644 --- a/tests/unit/articleenhancer/EnhancerTest.php +++ b/tests/unit/articleenhancer/EnhancerTest.php @@ -30,7 +30,7 @@ use \OCA\News\Db\Item; require_once(__DIR__ . "/../../classloader.php"); -class EnhancerTest extends \OCA\News\Utility\TestUtility { +class EnhancerTest extends \PHPUnit_Framework_TestCase { private $enhancer; private $articleEnhancer; diff --git a/tests/unit/articleenhancer/RegexArticleEnhancerTest.php b/tests/unit/articleenhancer/RegexArticleEnhancerTest.php index a43f92b1c..38c570cfb 100644 --- a/tests/unit/articleenhancer/RegexArticleEnhancerTest.php +++ b/tests/unit/articleenhancer/RegexArticleEnhancerTest.php @@ -30,7 +30,7 @@ use \OCA\News\Db\Item; require_once(__DIR__ . "/../../classloader.php"); -class RegexArticleEnhancerTest extends \OCA\News\Utility\TestUtility { +class RegexArticleEnhancerTest extends \PHPUnit_Framework_TestCase { public function testRegexEnhancer() { diff --git a/tests/unit/articleenhancer/XPathArticleEnhancerTest.php b/tests/unit/articleenhancer/XPathArticleEnhancerTest.php index dbd752518..dd84c31fd 100644 --- a/tests/unit/articleenhancer/XPathArticleEnhancerTest.php +++ b/tests/unit/articleenhancer/XPathArticleEnhancerTest.php @@ -30,7 +30,7 @@ use \OCA\News\Db\Item; require_once(__DIR__ . "/../../classloader.php"); -class XPathArticleEnhancerTest extends \OCA\News\Utility\TestUtility { +class XPathArticleEnhancerTest extends \PHPUnit_Framework_TestCase { private $testEnhancer; private $fileFactory; diff --git a/tests/unit/businesslayer/BusinessLayerTest.php b/tests/unit/businesslayer/BusinessLayerTest.php index 7f3677d18..54ca11cba 100644 --- a/tests/unit/businesslayer/BusinessLayerTest.php +++ b/tests/unit/businesslayer/BusinessLayerTest.php @@ -39,14 +39,12 @@ class TestBusinessLayer extends BusinessLayer { } } -class BusinessLayerTest extends \OCA\News\Utility\TestUtility { +class BusinessLayerTest extends \PHPUnit_Framework_TestCase { - protected $api; protected $mapper; protected $newsBusinessLayer; protected function setUp(){ - $this->api = $this->getAPIMock(); $this->mapper = $this->getMockBuilder('\OCA\News\Db\ItemMapper') ->disableOriginalConstructor() ->getMock(); diff --git a/tests/unit/businesslayer/FeedBusinessLayerTest.php b/tests/unit/businesslayer/FeedBusinessLayerTest.php index 19ff7da7f..f856f2ca6 100644 --- a/tests/unit/businesslayer/FeedBusinessLayerTest.php +++ b/tests/unit/businesslayer/FeedBusinessLayerTest.php @@ -34,7 +34,7 @@ use \OCA\News\Db\Item; use \OCA\News\Fetcher\Fetcher; use \OCA\News\Fetcher\FetcherException; -class FeedBusinessLayerTest extends \OCA\News\Utility\TestUtility { +class FeedBusinessLayerTest extends \PHPUnit_Framework_TestCase { private $feedMapper; private $feedBusinessLayer; @@ -48,9 +48,15 @@ class FeedBusinessLayerTest extends \OCA\News\Utility\TestUtility { private $autoPurgeMinimumInterval; private $enhancer; private $purifier; + private $l10n; + private $logger; protected function setUp(){ - $this->api = $this->getAPIMock(); + $this->logger = $this->getMockBuilder( + '\OCA\News\Core\Logger') + ->disableOriginalConstructor() + ->getMock(); + $this->l10n = $this->getMock('L10N', array('t')); $this->time = 222; $this->autoPurgeMinimumInterval = 10; $timeFactory = $this->getMock('TimeFactory', array('getTime')); @@ -79,7 +85,7 @@ class FeedBusinessLayerTest extends \OCA\News\Utility\TestUtility { ->will($this->returnValue($this->autoPurgeMinimumInterval)); $this->feedBusinessLayer = new FeedBusinessLayer($this->feedMapper, - $this->fetcher, $this->itemMapper, $this->api, + $this->fetcher, $this->itemMapper, $this->logger, $this->l10n, $timeFactory, $config, $this->enhancer, $this->purifier); $this->user = 'jack'; @@ -101,12 +107,8 @@ class FeedBusinessLayerTest extends \OCA\News\Utility\TestUtility { public function testCreateDoesNotFindFeed(){ $ex = new FetcherException('hi'); $url = 'test'; - $trans = $this->getMock('Trans', array('t')); - $trans->expects($this->once()) + $this->l10n->expects($this->once()) ->method('t'); - $this->api->expects($this->once()) - ->method('getTrans') - ->will($this->returnValue($trans)); $this->fetcher->expects($this->once()) ->method('fetch') ->with($this->equalTo($url)) @@ -361,7 +363,7 @@ class FeedBusinessLayerTest extends \OCA\News\Utility\TestUtility { $this->fetcher->expects($this->once()) ->method('fetch') ->will($this->throwException($ex)); - $this->api->expects($this->any()) + $this->logger->expects($this->any()) ->method('log'); $this->feedMapper->expects($this->at(1)) @@ -601,17 +603,13 @@ class FeedBusinessLayerTest extends \OCA\News\Utility\TestUtility { $insertFeed->setPreventUpdate(true); $insertFeed->setFolderId(0); - $trans = $this->getMock('trans', array('t')); - $trans->expects($this->once()) + $this->l10n->expects($this->once()) ->method('t') ->will($this->returnValue('Articles without feed')); $this->feedMapper->expects($this->once()) ->method('findAllFromUser') ->with($this->equalTo($this->user)) ->will($this->returnValue($feeds)); - $this->api->expects($this->once()) - ->method('getTrans') - ->will($this->returnValue($trans)); $this->feedMapper->expects($this->once()) ->method('insert') ->with($this->equalTo($insertFeed)) diff --git a/tests/unit/businesslayer/FolderBusinessLayerTest.php b/tests/unit/businesslayer/FolderBusinessLayerTest.php index 17eb1b8ae..22b9e53d0 100644 --- a/tests/unit/businesslayer/FolderBusinessLayerTest.php +++ b/tests/unit/businesslayer/FolderBusinessLayerTest.php @@ -31,16 +31,17 @@ require_once(__DIR__ . "/../../classloader.php"); use \OCA\News\Db\Folder; -class FolderBusinessLayerTest extends \OCA\News\Utility\TestUtility { +class FolderBusinessLayerTest extends \PHPUnit_Framework_TestCase { private $folderMapper; private $folderBusinessLayer; private $time; private $user; private $autoPurgeMinimumInterval; + private $l10n; protected function setUp(){ - $this->api = $this->getAPIMock(); + $this->l10n = $this->getMock('L10N', array('t')); $this->time = 222; $timeFactory = $this->getMock('TimeFactory', array('getTime')); $timeFactory->expects($this->any()) @@ -59,7 +60,7 @@ class FolderBusinessLayerTest extends \OCA\News\Utility\TestUtility { ->method('getAutoPurgeMinimumInterval') ->will($this->returnValue($this->autoPurgeMinimumInterval)); $this->folderBusinessLayer = new FolderBusinessLayer( - $this->folderMapper, $this->api, $timeFactory, + $this->folderMapper, $this->l10n, $timeFactory, $config); $this->user = 'hi'; } @@ -103,12 +104,8 @@ class FolderBusinessLayerTest extends \OCA\News\Utility\TestUtility { array('id' => 1) ); - $trans = $this->getMock('Trans', array('t')); - $trans->expects($this->once()) + $this->l10n->expects($this->once()) ->method('t'); - $this->api->expects($this->once()) - ->method('getTrans') - ->will($this->returnValue($trans)); $this->folderMapper->expects($this->once()) ->method('findByName') ->with($this->equalTo($folderName)) @@ -179,12 +176,8 @@ class FolderBusinessLayerTest extends \OCA\News\Utility\TestUtility { array('id' => 1) ); - $trans = $this->getMock('Trans', array('t')); - $trans->expects($this->once()) + $this->l10n->expects($this->once()) ->method('t'); - $this->api->expects($this->once()) - ->method('getTrans') - ->will($this->returnValue($trans)); $this->folderMapper->expects($this->once()) ->method('findByName') ->with($this->equalTo($folderName)) diff --git a/tests/unit/businesslayer/ItemBusinessLayerTest.php b/tests/unit/businesslayer/ItemBusinessLayerTest.php index a3e7f7a14..f0f9d1906 100644 --- a/tests/unit/businesslayer/ItemBusinessLayerTest.php +++ b/tests/unit/businesslayer/ItemBusinessLayerTest.php @@ -33,9 +33,8 @@ use \OCA\News\Db\StatusFlag; use \OCA\News\Db\FeedType; -class ItemBusinessLayerTest extends \OCA\News\Utility\TestUtility { +class ItemBusinessLayerTest extends \PHPUnit_Framework_TestCase { - private $api; private $mapper; private $itemBusinessLayer; private $user; @@ -51,7 +50,6 @@ class ItemBusinessLayerTest extends \OCA\News\Utility\TestUtility { $timeFactory->expects($this->any()) ->method('getTime') ->will($this->returnValue($this->time)); - $this->api = $this->getAPIMock(); $this->mapper = $this->getMockBuilder('\OCA\News\Db\ItemMapper') ->disableOriginalConstructor() ->getMock(); diff --git a/tests/unit/businesslayer/StatusFlagTest.php b/tests/unit/businesslayer/StatusFlagTest.php index d503b6630..d96f40a6b 100644 --- a/tests/unit/businesslayer/StatusFlagTest.php +++ b/tests/unit/businesslayer/StatusFlagTest.php @@ -29,7 +29,7 @@ namespace OCA\News\Db; require_once(__DIR__ . "/../../classloader.php"); -class StatusFlagTest extends \OCA\News\Utility\TestUtility { +class StatusFlagTest extends \PHPUnit_Framework_TestCase { private $statusFlag; diff --git a/tests/unit/controller/ApiControllerTest.php b/tests/unit/controller/ApiControllerTest.php index 722830a23..6aa6ee4ea 100644 --- a/tests/unit/controller/ApiControllerTest.php +++ b/tests/unit/controller/ApiControllerTest.php @@ -36,14 +36,16 @@ require_once(__DIR__ . "/../../classloader.php"); class ApiControllerTest extends ControllerTestUtility { - private $api; + private $settings; private $request; private $newsAPI; private $updater; + private $appName; protected function setUp() { - $this->api = $this->getMockBuilder( - '\OCA\News\Core\API') + $this->appName = 'news'; + $this->settings = $this->getMockBuilder( + '\OCA\News\Core\Settings') ->disableOriginalConstructor() ->getMock(); $this->request = $this->getMockBuilder( @@ -54,7 +56,8 @@ class ApiControllerTest extends ControllerTestUtility { '\OCA\News\Utility\Updater') ->disableOriginalConstructor() ->getMock(); - $this->newsAPI = new ApiController($this->api, $this->request, $this->updater); + $this->newsAPI = new ApiController($this->appName, $this->request, + $this->updater, $this->settings); } @@ -78,7 +81,7 @@ class ApiControllerTest extends ControllerTestUtility { } public function testGetVersion(){ - $this->api->expects($this->once()) + $this->settings->expects($this->once()) ->method('getAppValue') ->with($this->equalTo('installed_version')) ->will($this->returnValue('1.0')); @@ -115,7 +118,8 @@ class ApiControllerTest extends ControllerTestUtility { public function testCors() { $this->request = $this->getRequest(array('server' => array())); - $this->newsAPI = new ApiController($this->api, $this->request, $this->updater); + $this->newsAPI = new ApiController($this->appName, $this->request, + $this->updater, $this->settings); $response = $this->newsAPI->cors(); $headers = $response->getHeaders(); @@ -130,7 +134,8 @@ class ApiControllerTest extends ControllerTestUtility { public function testCorsUsesOriginIfGiven() { $this->request = $this->getRequest(array('server' => array('HTTP_ORIGIN' => 'test'))); - $this->newsAPI = new ApiController($this->api, $this->request, $this->updater); + $this->newsAPI = new ApiController($this->appName, $this->request, + $this->updater, $this->settings); $response = $this->newsAPI->cors(); $headers = $response->getHeaders(); diff --git a/tests/unit/controller/ExportControllerTest.php b/tests/unit/controller/ExportControllerTest.php index b79574ff2..bc3baf4cf 100644 --- a/tests/unit/controller/ExportControllerTest.php +++ b/tests/unit/controller/ExportControllerTest.php @@ -40,7 +40,7 @@ require_once(__DIR__ . "/../../classloader.php"); class ExportControllerTest extends ControllerTestUtility { - private $api; + private $appName; private $request; private $controller; private $user; @@ -53,7 +53,8 @@ class ExportControllerTest extends ControllerTestUtility { * Gets run before each test */ public function setUp(){ - $this->api = $this->getAPIMock(); + $this->appName = 'news'; + $this->user = 'john'; $this->itemBusinessLayer = $this->getMockBuilder('\OCA\News\BusinessLayer\ItemBusinessLayer') ->disableOriginalConstructor() ->getMock(); @@ -65,10 +66,9 @@ class ExportControllerTest extends ControllerTestUtility { ->getMock(); $this->request = $this->getRequest(); $this->opmlExporter = new OPMLExporter(); - $this->controller = new ExportController($this->api, $this->request, + $this->controller = new ExportController($this->appName, $this->request, $this->feedBusinessLayer, $this->folderBusinessLayer, - $this->itemBusinessLayer, $this->opmlExporter); - $this->user = 'john'; + $this->itemBusinessLayer, $this->opmlExporter, $this->user); } @@ -94,9 +94,6 @@ class ExportControllerTest extends ControllerTestUtility { " <body/>\n" . "</opml>\n"; - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('findAll') ->with($this->equalTo($this->user)) @@ -130,9 +127,6 @@ class ExportControllerTest extends ControllerTestUtility { $item1, $item2 ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('findAll') ->with($this->equalTo($this->user)) diff --git a/tests/unit/controller/FeedApiControllerTest.php b/tests/unit/controller/FeedApiControllerTest.php index 8bb8447bd..752eb575b 100644 --- a/tests/unit/controller/FeedApiControllerTest.php +++ b/tests/unit/controller/FeedApiControllerTest.php @@ -45,16 +45,19 @@ class FeedApiControllerTest extends ControllerTestUtility { private $feedBusinessLayer; private $itemBusinessLayer; private $feedAPI; - private $api; + private $appName; private $user; private $request; private $msg; + private $logger; protected function setUp() { - $this->api = $this->getMockBuilder( - '\OCA\News\Core\API') + $this->user = 'tom'; + $this->logger = $this->getMockBuilder( + '\OCA\News\Core\Logger') ->disableOriginalConstructor() ->getMock(); + $this->appName = 'news'; $this->request = $this->getMockBuilder( '\OCP\IRequest') ->disableOriginalConstructor() @@ -72,13 +75,14 @@ class FeedApiControllerTest extends ControllerTestUtility { ->disableOriginalConstructor() ->getMock(); $this->feedAPI = new FeedApiController( - $this->api, + $this->appName, $this->request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->logger, + $this->user ); - $this->user = 'tom'; $this->msg = 'hohoho'; } @@ -133,9 +137,6 @@ class FeedApiControllerTest extends ControllerTestUtility { $starredCount = 3; $newestItemId = 2; - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('starredCount') ->with($this->equalTo($this->user)) @@ -165,9 +166,6 @@ class FeedApiControllerTest extends ControllerTestUtility { ); $starredCount = 3; - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('starredCount') ->with($this->equalTo($this->user)) @@ -195,16 +193,15 @@ class FeedApiControllerTest extends ControllerTestUtility { 'feedId' => 2 ))); $this->feedAPI = new FeedApiController( - $this->api, + $this->appName, $request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->logger, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('delete') ->with( @@ -223,16 +220,15 @@ class FeedApiControllerTest extends ControllerTestUtility { 'feedId' => 2 ))); $this->feedAPI = new FeedApiController( - $this->api, + $this->appName, $request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->logger, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('delete') ->will($this->throwException(new BusinessLayerException($this->msg))); @@ -254,16 +250,15 @@ class FeedApiControllerTest extends ControllerTestUtility { 'folderId' => 3 ))); $this->feedAPI = new FeedApiController( - $this->api, + $this->appName, $request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->logger, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('purgeDeleted') ->with($this->equalTo($this->user), $this->equalTo(false)); @@ -298,16 +293,15 @@ class FeedApiControllerTest extends ControllerTestUtility { 'folderId' => 3 ))); $this->feedAPI = new FeedApiController( - $this->api, + $this->appName, $request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->logger, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('purgeDeleted') ->with($this->equalTo($this->user), $this->equalTo(false)); @@ -334,9 +328,6 @@ class FeedApiControllerTest extends ControllerTestUtility { public function testCreateExists() { - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('purgeDeleted') ->with($this->equalTo($this->user), $this->equalTo(false)); @@ -353,9 +344,6 @@ class FeedApiControllerTest extends ControllerTestUtility { public function testCreateError() { - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('create') ->will($this->throwException(new BusinessLayerException($this->msg))); @@ -378,16 +366,15 @@ class FeedApiControllerTest extends ControllerTestUtility { ) )); $this->feedAPI = new FeedApiController( - $this->api, + $this->appName, $request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->logger, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('readFeed') ->with( @@ -412,16 +399,15 @@ class FeedApiControllerTest extends ControllerTestUtility { ) )); $this->feedAPI = new FeedApiController( - $this->api, + $this->appName, $request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->logger, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('move') ->with( @@ -449,16 +435,15 @@ class FeedApiControllerTest extends ControllerTestUtility { ) )); $this->feedAPI = new FeedApiController( - $this->api, + $this->appName, $request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->logger, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('rename') ->with( @@ -474,9 +459,6 @@ class FeedApiControllerTest extends ControllerTestUtility { public function testMoveDoesNotExist() { - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('move') ->will($this->throwException(new BusinessLayerException($this->msg))); @@ -512,11 +494,13 @@ class FeedApiControllerTest extends ControllerTestUtility { 'userId' => $userId ))); $this->feedAPI = new FeedApiController( - $this->api, + $this->appName, $request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->logger, + $this->user ); $this->feedBusinessLayer->expects($this->once()) ->method('update') @@ -531,7 +515,7 @@ class FeedApiControllerTest extends ControllerTestUtility { $this->feedBusinessLayer->expects($this->once()) ->method('update') ->will($this->throwException(new \Exception($this->msg))); - $this->api->expects($this->once()) + $this->logger->expects($this->once()) ->method('log') ->with($this->equalTo('Could not update feed ' . $this->msg), $this->equalTo('debug')); diff --git a/tests/unit/controller/FeedControllerTest.php b/tests/unit/controller/FeedControllerTest.php index 90c1b8e14..2135c5366 100644 --- a/tests/unit/controller/FeedControllerTest.php +++ b/tests/unit/controller/FeedControllerTest.php @@ -40,19 +40,25 @@ require_once(__DIR__ . "/../../classloader.php"); class FeedControllerTest extends ControllerTestUtility { - private $api; + private $appName; private $feedBusinessLayer; private $request; private $controller; private $folderBusinessLayer; private $itemBusinessLayer; + private $settings; /** * Gets run before each test */ public function setUp(){ - $this->api = $this->getAPIMock(); + $this->appName = 'news'; + $this->user = 'jack'; + $this->settings = $this->getMockBuilder( + '\OCA\News\Core\Settings') + ->disableOriginalConstructor() + ->getMock(); $this->itemBusinessLayer = $this->getMockBuilder('\OCA\News\BusinessLayer\ItemBusinessLayer') ->disableOriginalConstructor() ->getMock(); @@ -63,11 +69,12 @@ class FeedControllerTest extends ControllerTestUtility { ->disableOriginalConstructor() ->getMock(); $this->request = $this->getRequest(); - $this->controller = new FeedController($this->api, $this->request, + $this->controller = new FeedController($this->appName, $this->request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer); - $this->user = 'jack'; + $this->itemBusinessLayer, + $this->user, + $this->settings); } private function assertFeedControllerAnnotations($methodName){ @@ -83,10 +90,12 @@ class FeedControllerTest extends ControllerTestUtility { ); $request = $this->getRequest($post); - return new FeedController($this->api, $request, + return new FeedController($this->appName, $request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer); + $this->itemBusinessLayer, + $this->user, + $this->settings); } @@ -140,9 +149,6 @@ class FeedControllerTest extends ControllerTestUtility { ), 'starred' => 13 ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('findAll') ->with($this->equalTo($this->user)) @@ -171,9 +177,6 @@ class FeedControllerTest extends ControllerTestUtility { 'starred' => 13, 'newestItemId' => 5 ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('findAll') ->with($this->equalTo($this->user)) @@ -196,14 +199,11 @@ class FeedControllerTest extends ControllerTestUtility { private function activeInitMocks($id, $type){ - $this->api->expects($this->at(0)) - ->method('getUserId') - ->will($this->returnValue($this->user)); - $this->api->expects($this->at(1)) + $this->settings->expects($this->at(0)) ->method('getUserValue') ->with($this->equalTo('lastViewedFeedId')) ->will($this->returnValue($id)); - $this->api->expects($this->at(2)) + $this->settings->expects($this->at(1)) ->method('getUserValue') ->with($this->equalTo('lastViewedFeedType')) ->will($this->returnValue($type)); @@ -308,9 +308,6 @@ class FeedControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController($post); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('getNewestItemId') @@ -343,9 +340,6 @@ class FeedControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController($post); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('purgeDeleted') ->with($this->equalTo($this->user), $this->equalTo(false)); @@ -371,9 +365,6 @@ class FeedControllerTest extends ControllerTestUtility { public function testCreateReturnsErrorForInvalidCreate(){ $msg = 'except'; $ex = new BusinessLayerException($msg); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('purgeDeleted') ->with($this->equalTo($this->user), $this->equalTo(false)); @@ -393,9 +384,6 @@ class FeedControllerTest extends ControllerTestUtility { public function testCreateReturnsErrorForDuplicateCreate(){ $msg = 'except'; $ex = new BusinessLayerConflictException($msg); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('purgeDeleted') ->with($this->equalTo($this->user), $this->equalTo(false)); @@ -418,9 +406,6 @@ class FeedControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('markDeleted') ->with($this->equalTo($url['feedId'])); @@ -437,9 +422,6 @@ class FeedControllerTest extends ControllerTestUtility { $msg = 'hehe'; $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('markDeleted') ->will($this->throwException(new BusinessLayerException($msg))); @@ -471,9 +453,6 @@ class FeedControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('update') ->with($this->equalTo($url['feedId']), $this->equalTo($this->user)) @@ -498,9 +477,6 @@ class FeedControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('update') ->with($this->equalTo($url['feedId']), $this->equalTo($this->user)) @@ -524,9 +500,6 @@ class FeedControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController($post, $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('move') ->with($this->equalTo($url['feedId']), @@ -549,9 +522,6 @@ class FeedControllerTest extends ControllerTestUtility { $msg = 'john'; $this->controller = $this->getPostController($post, $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('move') ->will($this->throwException(new BusinessLayerException($msg))); @@ -574,9 +544,6 @@ class FeedControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController($post, $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('rename') ->with($this->equalTo($url['feedId']), @@ -600,9 +567,6 @@ class FeedControllerTest extends ControllerTestUtility { $msg = 'hi'; - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('rename') ->with($this->equalTo($url['feedId']), @@ -631,9 +595,6 @@ class FeedControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController($post); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('importArticles') ->with($this->equalTo($post['json']), @@ -656,9 +617,6 @@ class FeedControllerTest extends ControllerTestUtility { $expected = array(); $this->controller = $this->getPostController($post); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('importArticles') ->with($this->equalTo($post['json']), @@ -689,9 +647,6 @@ class FeedControllerTest extends ControllerTestUtility { ) ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('readFeed') ->with($url['feedId'], $post['highestItemId'], $this->user); @@ -708,9 +663,6 @@ class FeedControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('unmarkDeleted') ->with($this->equalTo($url['feedId'])); @@ -727,9 +679,6 @@ class FeedControllerTest extends ControllerTestUtility { $msg = 'hehe'; $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('unmarkDeleted') ->will($this->throwException(new BusinessLayerException($msg))); diff --git a/tests/unit/controller/FolderApiControllerTest.php b/tests/unit/controller/FolderApiControllerTest.php index cc799dc18..702699b98 100644 --- a/tests/unit/controller/FolderApiControllerTest.php +++ b/tests/unit/controller/FolderApiControllerTest.php @@ -46,16 +46,14 @@ class FolderApiControllerTest extends ControllerTestUtility { private $folderBusinessLayer; private $itemBusinessLayer; private $folderAPI; - private $api; + private $appName; private $user; private $request; private $msg; protected function setUp() { - $this->api = $this->getMockBuilder( - '\OCA\News\Core\API') - ->disableOriginalConstructor() - ->getMock(); + $this->appName = 'news'; + $this->user = 'tom'; $this->request = $this->getMockBuilder( '\OCP\IRequest') ->disableOriginalConstructor() @@ -69,12 +67,12 @@ class FolderApiControllerTest extends ControllerTestUtility { ->disableOriginalConstructor() ->getMock(); $this->folderAPI = new FolderApiController( - $this->api, + $this->appName, $this->request, $this->folderBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->user = 'tom'; $this->msg = 'test'; } @@ -115,9 +113,6 @@ class FolderApiControllerTest extends ControllerTestUtility { new Folder() ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('findAll') ->with($this->equalTo($this->user)) @@ -139,17 +134,15 @@ class FolderApiControllerTest extends ControllerTestUtility { $folder ); $this->folderAPI = new FolderApiController( - $this->api, + $this->appName, $this->getRequest(array('params' => array( 'name' => $folderName ))), $this->folderBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('purgeDeleted') ->with($this->equalTo($this->user), $this->equalTo(false)); @@ -169,9 +162,6 @@ class FolderApiControllerTest extends ControllerTestUtility { public function testCreateAlreadyExists() { $msg = 'exists'; - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('purgeDeleted') ->with($this->equalTo($this->user), $this->equalTo(false)); @@ -190,9 +180,6 @@ class FolderApiControllerTest extends ControllerTestUtility { public function testCreateInvalidFolderName() { $msg = 'exists'; - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('purgeDeleted') ->with($this->equalTo($this->user), $this->equalTo(false)); @@ -212,17 +199,15 @@ class FolderApiControllerTest extends ControllerTestUtility { $folderId = 23; $this->folderAPI = new FolderApiController( - $this->api, + $this->appName, $this->getRequest(array('urlParams' => array( 'folderId' => $folderId ))), $this->folderBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('delete') ->with($this->equalTo($folderId), $this->equalTo($this->user)); @@ -237,17 +222,15 @@ class FolderApiControllerTest extends ControllerTestUtility { $folderId = 23; $this->folderAPI = new FolderApiController( - $this->api, + $this->appName, $this->getRequest(array('urlParams' => array( 'folderId' => $folderId ))), $this->folderBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('delete') ->will($this->throwException(new BusinessLayerException($this->msg))); @@ -265,7 +248,7 @@ class FolderApiControllerTest extends ControllerTestUtility { $folderName = 'test'; $this->folderAPI = new FolderApiController( - $this->api, + $this->appName, $this->getRequest( array( 'urlParams' => array( @@ -278,12 +261,10 @@ class FolderApiControllerTest extends ControllerTestUtility { ) ), $this->folderBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('rename') ->with($this->equalTo($folderId), @@ -301,7 +282,7 @@ class FolderApiControllerTest extends ControllerTestUtility { $folderName = 'test'; $this->folderAPI = new FolderApiController( - $this->api, + $this->appName, $this->getRequest( array( 'urlParams' => array( @@ -314,12 +295,10 @@ class FolderApiControllerTest extends ControllerTestUtility { ) ), $this->folderBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('rename') ->will($this->throwException(new BusinessLayerException($this->msg))); @@ -337,7 +316,7 @@ class FolderApiControllerTest extends ControllerTestUtility { $folderName = 'test'; $this->folderAPI = new FolderApiController( - $this->api, + $this->appName, $this->getRequest( array( 'urlParams' => array( @@ -350,12 +329,10 @@ class FolderApiControllerTest extends ControllerTestUtility { ) ), $this->folderBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('rename') ->will($this->throwException(new BusinessLayerConflictException($this->msg))); @@ -373,7 +350,7 @@ class FolderApiControllerTest extends ControllerTestUtility { $folderName = ''; $this->folderAPI = new FolderApiController( - $this->api, + $this->appName, $this->getRequest( array( 'urlParams' => array( @@ -386,12 +363,10 @@ class FolderApiControllerTest extends ControllerTestUtility { ) ), $this->folderBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('rename') ->will($this->throwException(new BusinessLayerValidationException($this->msg))); @@ -414,15 +389,13 @@ class FolderApiControllerTest extends ControllerTestUtility { ) )); $this->folderAPI = new FolderApiController( - $this->api, + $this->appName, $request, $this->folderBusinessLayer, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('readFolder') ->with( diff --git a/tests/unit/controller/FolderControllerTest.php b/tests/unit/controller/FolderControllerTest.php index dba656e7b..142f8e2c4 100644 --- a/tests/unit/controller/FolderControllerTest.php +++ b/tests/unit/controller/FolderControllerTest.php @@ -41,7 +41,7 @@ require_once(__DIR__ . "/../../classloader.php"); class FolderControllerTest extends ControllerTestUtility { - private $api; + private $appName; private $folderBusinessLayer; private $itemBusinessLayer; private $feedBusinessLayer; @@ -54,7 +54,8 @@ class FolderControllerTest extends ControllerTestUtility { * Gets run before each test */ public function setUp(){ - $this->api = $this->getAPIMock(); + $this->appName = 'news'; + $this->user = 'jack'; $this->folderBusinessLayer = $this->getMockBuilder('\OCA\News\BusinessLayer\FolderBusinessLayer') ->disableOriginalConstructor() ->getMock(); @@ -65,11 +66,11 @@ class FolderControllerTest extends ControllerTestUtility { ->disableOriginalConstructor() ->getMock(); $this->request = $this->getRequest(); - $this->controller = new FolderController($this->api, $this->request, + $this->controller = new FolderController($this->appName, $this->request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer); - $this->user = 'jack'; + $this->itemBusinessLayer, + $this->user); $this->msg = 'ron'; } @@ -87,10 +88,11 @@ class FolderControllerTest extends ControllerTestUtility { ); $request = $this->getRequest($post); - return new FolderController($this->api, $request, + return new FolderController($this->appName, $request, $this->folderBusinessLayer, $this->feedBusinessLayer, - $this->itemBusinessLayer); + $this->itemBusinessLayer, + $this->user); } public function testFoldersAnnotations(){ @@ -154,9 +156,6 @@ class FolderControllerTest extends ControllerTestUtility { $url = array('folderId' => 5); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('open') ->with($this->equalTo($url['folderId']), @@ -172,9 +171,6 @@ class FolderControllerTest extends ControllerTestUtility { $url = array('folderId' => 5); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('open') ->will($this->throwException(new BusinessLayerException($this->msg))); @@ -193,9 +189,6 @@ class FolderControllerTest extends ControllerTestUtility { $url = array('folderId' => 5); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('open') ->with($this->equalTo($url['folderId']), @@ -211,9 +204,6 @@ class FolderControllerTest extends ControllerTestUtility { $url = array('folderId' => 5); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('open') ->will($this->throwException(new BusinessLayerException($this->msg))); @@ -235,9 +225,6 @@ class FolderControllerTest extends ControllerTestUtility { 'folders' => array(new Folder()) ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('purgeDeleted') ->with($this->equalTo($this->user), $this->equalTo(false)); @@ -257,9 +244,6 @@ class FolderControllerTest extends ControllerTestUtility { public function testCreateReturnsErrorForInvalidCreate(){ $msg = 'except'; $ex = new BusinessLayerValidationException($msg); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('purgeDeleted') ->with($this->equalTo($this->user), $this->equalTo(false)); @@ -279,9 +263,6 @@ class FolderControllerTest extends ControllerTestUtility { public function testCreateReturnsErrorForDuplicateCreate(){ $msg = 'except'; $ex = new BusinessLayerConflictException($msg); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('purgeDeleted') ->with($this->equalTo($this->user), $this->equalTo(false)); @@ -302,9 +283,6 @@ class FolderControllerTest extends ControllerTestUtility { $url = array('folderId' => 5); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('markDeleted') ->with($this->equalTo($url['folderId']), @@ -320,9 +298,6 @@ class FolderControllerTest extends ControllerTestUtility { $url = array('folderId' => 5); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('markDeleted') ->will($this->throwException(new BusinessLayerException($this->msg))); @@ -345,9 +320,6 @@ class FolderControllerTest extends ControllerTestUtility { 'folders' => array(new Folder()) ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('rename') ->with($this->equalTo($url['folderId']), @@ -424,9 +396,6 @@ class FolderControllerTest extends ControllerTestUtility { 'feeds' => array($feed) ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('readFolder') ->with($this->equalTo($url['folderId']), @@ -447,9 +416,6 @@ class FolderControllerTest extends ControllerTestUtility { $url = array('folderId' => 5); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('unmarkDeleted') ->with($this->equalTo($url['folderId']), @@ -465,9 +431,6 @@ class FolderControllerTest extends ControllerTestUtility { $url = array('folderId' => 5); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->folderBusinessLayer->expects($this->once()) ->method('unmarkDeleted') ->will($this->throwException(new BusinessLayerException($this->msg))); diff --git a/tests/unit/controller/ItemApiControllerTest.php b/tests/unit/controller/ItemApiControllerTest.php index 6a8c2a5cd..ead262cd4 100644 --- a/tests/unit/controller/ItemApiControllerTest.php +++ b/tests/unit/controller/ItemApiControllerTest.php @@ -46,10 +46,8 @@ class ItemApiControllerTest extends ControllerTestUtility { private $msg; protected function setUp() { - $this->api = $this->getMockBuilder( - '\OCA\News\Core\API') - ->disableOriginalConstructor() - ->getMock(); + $this->user = 'tom'; + $this->appName = 'news'; $this->request = $this->getMockBuilder( '\OCP\IRequest') ->disableOriginalConstructor() @@ -58,11 +56,11 @@ class ItemApiControllerTest extends ControllerTestUtility { '\OCA\News\BusinessLayer\ItemBusinessLayer') ->disableOriginalConstructor() ->getMock(); - $this->user = 'tom'; $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $this->request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); $this->msg = 'hi'; } @@ -141,14 +139,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'getRead' => 'false' ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('findAll') ->with( @@ -180,14 +176,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'getRead' => 'false' ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('findAll') ->with( @@ -218,14 +212,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'id' => 2, ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('findAllNew') ->with( @@ -250,14 +242,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'itemId' => 2 ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('read') ->with( @@ -278,14 +268,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'itemId' => 2 ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('read') ->will($this->throwException(new BusinessLayerException($this->msg))); @@ -303,14 +291,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'itemId' => 2 ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('read') ->with( @@ -331,14 +317,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'itemId' => 2 ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('read') ->will($this->throwException(new BusinessLayerException($this->msg))); @@ -357,14 +341,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'guidHash' => 'hash' ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('star') ->with( @@ -387,14 +369,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'guidHash' => 'hash' ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('star') ->will($this->throwException(new BusinessLayerException($this->msg))); @@ -413,14 +393,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'guidHash' => 'hash' ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('star') ->with( @@ -443,14 +421,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'guidHash' => 'hash' ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('star') ->will($this->throwException(new BusinessLayerException($this->msg))); @@ -470,14 +446,12 @@ class ItemApiControllerTest extends ControllerTestUtility { ) )); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('readAll') ->with( @@ -497,14 +471,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'items' => array(2, 4) ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->at(0)) ->method('read') ->with($this->equalTo(2), @@ -525,14 +497,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'items' => array(2, 4) ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->at(0)) ->method('read') ->will($this->throwException(new BusinessLayerException(''))); @@ -550,14 +520,12 @@ class ItemApiControllerTest extends ControllerTestUtility { 'items' => array(2, 4) ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->at(0)) ->method('read') ->with($this->equalTo(2), @@ -587,14 +555,12 @@ class ItemApiControllerTest extends ControllerTestUtility { ) ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->at(0)) ->method('star') ->with($this->equalTo(2), @@ -626,14 +592,12 @@ class ItemApiControllerTest extends ControllerTestUtility { ) ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->at(0)) ->method('star') ->will($this->throwException(new BusinessLayerException(''))); @@ -661,14 +625,12 @@ class ItemApiControllerTest extends ControllerTestUtility { ) ))); $this->itemAPI = new ItemApiController( - $this->api, + $this->appName, $request, - $this->itemBusinessLayer + $this->itemBusinessLayer, + $this->user ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->at(0)) ->method('star') ->with($this->equalTo(2), diff --git a/tests/unit/controller/ItemControllerTest.php b/tests/unit/controller/ItemControllerTest.php index 9fa2e1a63..c3296b2f6 100644 --- a/tests/unit/controller/ItemControllerTest.php +++ b/tests/unit/controller/ItemControllerTest.php @@ -40,7 +40,8 @@ require_once(__DIR__ . "/../../classloader.php"); class ItemControllerTest extends ControllerTestUtility { - private $api; + private $appName; + private $settings; private $itemBusinessLayer; private $feedBusinessLayer; private $request; @@ -52,7 +53,12 @@ class ItemControllerTest extends ControllerTestUtility { * Gets run before each test */ public function setUp(){ - $this->api = $this->getAPIMock(); + $this->appName = 'news'; + $this->user = 'jackob'; + $this->settings = $this->getMockBuilder( + '\OCA\News\Core\Settings') + ->disableOriginalConstructor() + ->getMock(); $this->itemBusinessLayer = $this->getMockBuilder('\OCA\News\BusinessLayer\ItemBusinessLayer') ->disableOriginalConstructor() @@ -62,9 +68,9 @@ class ItemControllerTest extends ControllerTestUtility { ->disableOriginalConstructor() ->getMock(); $this->request = $this->getRequest(); - $this->controller = new ItemController($this->api, $this->request, - $this->feedBusinessLayer, $this->itemBusinessLayer); - $this->user = 'jackob'; + $this->controller = new ItemController($this->appName, $this->request, + $this->feedBusinessLayer, $this->itemBusinessLayer, $this->user, + $this->settings); $this->newestItemId = 12312; } @@ -75,8 +81,9 @@ class ItemControllerTest extends ControllerTestUtility { ); $request = $this->getRequest($post); - return new ItemController($this->api, $request, - $this->feedBusinessLayer, $this->itemBusinessLayer); + return new ItemController($this->appName, $request, + $this->feedBusinessLayer, $this->itemBusinessLayer, $this->user, + $this->settings); } @@ -125,9 +132,6 @@ class ItemControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('read') ->with($url['itemId'], true, $this->user); @@ -145,9 +149,6 @@ class ItemControllerTest extends ControllerTestUtility { $msg = 'hi'; $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('read') ->will($this->throwException(new BusinessLayerException($msg))); @@ -168,9 +169,6 @@ class ItemControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('read') ->with($url['itemId'], false, $this->user); @@ -187,9 +185,6 @@ class ItemControllerTest extends ControllerTestUtility { $msg = 'hi'; $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('read') ->will($this->throwException(new BusinessLayerException($msg))); @@ -211,9 +206,6 @@ class ItemControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('star') ->with( @@ -235,9 +227,6 @@ class ItemControllerTest extends ControllerTestUtility { $msg = 'ho'; $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('star') ->will($this->throwException(new BusinessLayerException($msg)));; @@ -258,9 +247,6 @@ class ItemControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('star') ->with( @@ -282,9 +268,6 @@ class ItemControllerTest extends ControllerTestUtility { $msg = 'ho'; $this->controller = $this->getPostController(array(), $url); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('star') ->will($this->throwException(new BusinessLayerException($msg)));; @@ -308,9 +291,6 @@ class ItemControllerTest extends ControllerTestUtility { 'feeds' => array($feed) ); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('readAll') ->with($this->equalTo($post['highestItemId']), @@ -327,18 +307,15 @@ class ItemControllerTest extends ControllerTestUtility { private function itemsApiExpects($id, $type){ - $this->api->expects($this->once()) + $this->settings->expects($this->once()) ->method('getUserValue') ->with($this->equalTo('showAll')) ->will($this->returnValue('1')); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); - $this->api->expects($this->at(2)) + $this->settings->expects($this->at(1)) ->method('setUserValue') ->with($this->equalTo('lastViewedFeedId'), $this->equalTo($id)); - $this->api->expects($this->at(3)) + $this->settings->expects($this->at(2)) ->method('setUserValue') ->with($this->equalTo('lastViewedFeedType'), $this->equalTo($type)); @@ -467,13 +444,10 @@ class ItemControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController($post); - $this->api->expects($this->once()) + $this->settings->expects($this->once()) ->method('getUserValue') ->with($this->equalTo('showAll')) ->will($this->returnValue('1')); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->feedBusinessLayer->expects($this->once()) ->method('findAll') @@ -515,13 +489,10 @@ class ItemControllerTest extends ControllerTestUtility { ); $this->controller = $this->getPostController($post); - $this->api->expects($this->once()) + $this->settings->expects($this->once()) ->method('getUserValue') ->with($this->equalTo('showAll')) ->will($this->returnValue('1')); - $this->api->expects($this->once()) - ->method('getUserId') - ->will($this->returnValue($this->user)); $this->itemBusinessLayer->expects($this->once()) ->method('getNewestItemId') diff --git a/tests/unit/controller/PageControllerTest.php b/tests/unit/controller/PageControllerTest.php index ff229c79b..03ac1aa61 100644 --- a/tests/unit/controller/PageControllerTest.php +++ b/tests/unit/controller/PageControllerTest.php @@ -36,19 +36,27 @@ require_once(__DIR__ . "/../../classloader.php"); class PageControllerTest extends ControllerTestUtility { - private $api; + private $settings; + private $appName; private $request; private $controller; private $user; + private $l10n; /** * Gets run before each test */ public function setUp(){ - $this->api = $this->getAPIMock(); + $this->appName = 'news'; + $this->l10n = $this->getMock('L10N', array('findLanguage')); + $this->settings = $this->getMockBuilder( + '\OCA\News\Core\Settings') + ->disableOriginalConstructor() + ->getMock(); $this->request = $this->getRequest(); - $this->controller = new PageController($this->api, $this->request); + $this->controller = new PageController($this->appName, $this->request, + $this->settings, $this->l10n); $this->user = 'becka'; } @@ -82,18 +90,14 @@ class PageControllerTest extends ControllerTestUtility { 'language' => 'de' ); - $lang = $this->getMock('Lang', array('findLanguage')); - $lang->expects($this->once()) + $this->l10n->expects($this->once()) ->method('findLanguage') ->will($this->returnValue('de')); - $this->api->expects($this->once()) - ->method('getTrans') - ->will($this->returnValue($lang)); - $this->api->expects($this->at(0)) + $this->settings->expects($this->at(0)) ->method('getUserValue') ->with($this->equalTo('showAll')) ->will($this->returnValue('1')); - $this->api->expects($this->at(1)) + $this->settings->expects($this->at(1)) ->method('getUserValue') ->with($this->equalTo('compact')) ->will($this->returnValue('1')); @@ -109,13 +113,14 @@ class PageControllerTest extends ControllerTestUtility { 'showAll' => true, 'compact' => true ))); - $this->controller = new PageController($this->api, $request); + $this->controller = new PageController($this->appName, $request, + $this->settings, $this->l10n); - $this->api->expects($this->at(0)) + $this->settings->expects($this->at(0)) ->method('setUserValue') ->with($this->equalTo('showAll'), $this->equalTo(true)); - $this->api->expects($this->at(1)) + $this->settings->expects($this->at(1)) ->method('setUserValue') ->with($this->equalTo('compact'), $this->equalTo(true)); @@ -129,9 +134,10 @@ class PageControllerTest extends ControllerTestUtility { $request = $this->getRequest(array('post' => array( 'showAll' => true ))); - $this->controller = new PageController($this->api, $request); + $this->controller = new PageController($this->appName, $request, + $this->settings, $this->l10n); - $this->api->expects($this->once()) + $this->settings->expects($this->once()) ->method('setUserValue') ->with($this->equalTo('showAll'), $this->equalTo(true)); diff --git a/tests/unit/db/FeedMapperTest.php b/tests/unit/db/FeedMapperTest.php index c424e57e7..4e78dbf3a 100644 --- a/tests/unit/db/FeedMapperTest.php +++ b/tests/unit/db/FeedMapperTest.php @@ -36,7 +36,7 @@ class FeedMapperTest extends \OCA\News\Utility\MapperTestUtility { protected function setUp(){ $this->beforeEach(); - $this->mapper = new FeedMapper($this->api); + $this->mapper = new FeedMapper($this->db); // create mock feeds $feed1 = new Feed(); diff --git a/tests/unit/db/FolderMapperTest.php b/tests/unit/db/FolderMapperTest.php index b27cf80ab..9254bf493 100644 --- a/tests/unit/db/FolderMapperTest.php +++ b/tests/unit/db/FolderMapperTest.php @@ -37,7 +37,7 @@ class FolderMapperTest extends \OCA\News\Utility\MapperTestUtility { protected function setUp(){ $this->beforeEach(); - $this->folderMapper = new FolderMapper($this->api); + $this->folderMapper = new FolderMapper($this->db); // create mock folders $folder1 = new Folder(); diff --git a/tests/unit/db/ItemMapperTest.php b/tests/unit/db/ItemMapperTest.php index fbb77ea12..bf8210f5f 100644 --- a/tests/unit/db/ItemMapperTest.php +++ b/tests/unit/db/ItemMapperTest.php @@ -44,7 +44,7 @@ class ItemMapperTest extends \OCA\News\Utility\MapperTestUtility { { $this->beforeEach(); - $this->mapper = new ItemMapper($this->api); + $this->mapper = new ItemMapper($this->db); // create mock items $item1 = new Item(); diff --git a/tests/unit/db/MapperFactoryTest.php b/tests/unit/db/MapperFactoryTest.php index 51e70f526..5f07f7cbb 100644 --- a/tests/unit/db/MapperFactoryTest.php +++ b/tests/unit/db/MapperFactoryTest.php @@ -31,42 +31,47 @@ require_once(__DIR__ . "/../../classloader.php"); class MapperFactoryTest extends \PHPUnit_Framework_TestCase { + private $db; + private $settings; public function setUp() { - $this->api = $this->getMockBuilder('\OCA\News\Core\API') + $this->settings = $this->getMockBuilder('\OCA\News\Core\Settings') + ->disableOriginalConstructor() + ->getMock(); + $this->db = $this->getMockBuilder('\OCA\News\Core\Db') ->disableOriginalConstructor() ->getMock(); } public function testGetItemMapperSqlite() { - $this->api->expects($this->once()) + $this->settings->expects($this->once()) ->method('getSystemValue') ->with($this->equalTo('dbtype')) ->will($this->returnValue('sqlite')); - $factory = new MapperFactory($this->api); + $factory = new MapperFactory($this->settings, $this->db); $this->assertTrue($factory->getItemMapper() instanceof ItemMapper); } public function testGetItemMapperMysql() { - $this->api->expects($this->once()) + $this->settings->expects($this->once()) ->method('getSystemValue') ->with($this->equalTo('dbtype')) ->will($this->returnValue('mysql')); - $factory = new MapperFactory($this->api); + $factory = new MapperFactory($this->settings, $this->db); $this->assertTrue($factory->getItemMapper() instanceof ItemMapper); } public function testGetItemMapperPostgres() { - $this->api->expects($this->once()) + $this->settings->expects($this->once()) ->method('getSystemValue') ->with($this->equalTo('dbtype')) ->will($this->returnValue('pgsql')); - $factory = new MapperFactory($this->api); + $factory = new MapperFactory($this->settings, $this->db); $this->assertTrue($factory->getItemMapper() instanceof \OCA\News\Db\Postgres\ItemMapper); } diff --git a/tests/unit/db/MapperTest.php b/tests/unit/db/MapperTest.php index 3e483d764..1f41c2ba0 100644 --- a/tests/unit/db/MapperTest.php +++ b/tests/unit/db/MapperTest.php @@ -24,7 +24,7 @@ namespace OCA\News\Db; -use OCA\News\Core\API; +use OCA\News\Core\Db; use OCA\News\Utility\MapperTestUtility; @@ -38,7 +38,7 @@ class Example extends Entity { class ExampleMapper extends Mapper { - public function __construct(API $api){ parent::__construct($api, 'table'); } + public function __construct(Db $db){ parent::__construct($db, 'table'); } public function find($table, $id){ return $this->findOneQuery($table, $id); } public function findOneEntity($table, $id){ return $this->findEntity($table, $id); } public function findAll($table){ return $this->findAllQuery($table); } @@ -54,7 +54,11 @@ class MapperTest extends MapperTestUtility { public function setUp(){ $this->beforeEach(); - $this->mapper = new ExampleMapper($this->api); + $this->db = $this->getMockBuilder( + '\OCA\News\Core\Db') + ->disableOriginalConstructor() + ->getMock(); + $this->mapper = new ExampleMapper($this->db); } @@ -141,11 +145,11 @@ class MapperTest extends MapperTestUtility { public function testCreate(){ - $this->api->expects($this->once()) + $this->db->expects($this->once()) ->method('getInsertId') ->with($this->equalTo('*PREFIX*table')) ->will($this->returnValue(3)); - $this->mapper = new ExampleMapper($this->api); + $this->mapper = new ExampleMapper($this->db); $sql = 'INSERT INTO `*PREFIX*table`(`pre_name`,`email`) ' . 'VALUES(?,?)'; @@ -161,11 +165,11 @@ class MapperTest extends MapperTestUtility { public function testCreateShouldReturnItemWithCorrectInsertId(){ - $this->api->expects($this->once()) + $this->db->expects($this->once()) ->method('getInsertId') ->with($this->equalTo('*PREFIX*table')) ->will($this->returnValue(3)); - $this->mapper = new ExampleMapper($this->api); + $this->mapper = new ExampleMapper($this->db); $sql = 'INSERT INTO `*PREFIX*table`(`pre_name`,`email`) ' . 'VALUES(?,?)'; diff --git a/tests/unit/db/postgres/ItemMapperTest.php b/tests/unit/db/postgres/ItemMapperTest.php index ff8651233..2fbd7a71a 100644 --- a/tests/unit/db/postgres/ItemMapperTest.php +++ b/tests/unit/db/postgres/ItemMapperTest.php @@ -48,7 +48,7 @@ class ItemMapperTest extends \OCA\News\Utility\MapperTestUtility { { $this->beforeEach(); - $this->mapper = new ItemMapper($this->api); + $this->mapper = new ItemMapper($this->db); // create mock items $item1 = new Item(); diff --git a/tests/unit/fetcher/FeedFetcherTest.php b/tests/unit/fetcher/FeedFetcherTest.php index 392d0972c..7972a47b1 100644 --- a/tests/unit/fetcher/FeedFetcherTest.php +++ b/tests/unit/fetcher/FeedFetcherTest.php @@ -31,7 +31,7 @@ use \OCA\News\Db\Feed; require_once(__DIR__ . "/../../classloader.php"); -class FeedFetcherTest extends \OCA\News\Utility\TestUtility { +class FeedFetcherTest extends \PHPUnit_Framework_TestCase { private $fetcher; private $core; @@ -128,8 +128,7 @@ class FeedFetcherTest extends \OCA\News\Utility\TestUtility { $this->config->expects($this->any()) ->method('getFeedFetcherTimeout') ->will($this->returnValue($this->fetchTimeout)); - $this->fetcher = new FeedFetcher($this->getAPIMock(), - $this->coreFactory, + $this->fetcher = new FeedFetcher($this->coreFactory, $this->faviconFetcher, $timeFactory, $this->cacheDirectory, diff --git a/tests/unit/fetcher/FetcherTest.php b/tests/unit/fetcher/FetcherTest.php index f5756aaf7..cc08b2f0f 100644 --- a/tests/unit/fetcher/FetcherTest.php +++ b/tests/unit/fetcher/FetcherTest.php @@ -28,7 +28,7 @@ namespace OCA\News\Fetcher; require_once(__DIR__ . "/../../classloader.php"); -class FetcherTest extends \OCA\News\Utility\TestUtility { +class FetcherTest extends \PHPUnit_Framework_TestCase { private $fetcher; diff --git a/tests/unit/utility/ConfigTest.php b/tests/unit/utility/ConfigTest.php index a2b871c76..8dd64ac7b 100644 --- a/tests/unit/utility/ConfigTest.php +++ b/tests/unit/utility/ConfigTest.php @@ -28,15 +28,15 @@ namespace OCA\News\Utility; require_once(__DIR__ . "/../../classloader.php"); -class ConfigFetcherTest extends \OCA\News\Utility\TestUtility { +class ConfigFetcherTest extends \PHPUnit_Framework_TestCase { private $fileSystem; private $config; private $configPath; public function setUp() { - $this->api = $this->getMockBuilder( - '\OCA\News\Core\API') + $this->logger = $this->getMockBuilder( + '\OCA\News\Core\Logger') ->disableOriginalConstructor() ->getMock(); $this->fileSystem = $this->getMock('FileSystem', array( @@ -44,7 +44,7 @@ class ConfigFetcherTest extends \OCA\News\Utility\TestUtility { 'file_put_contents', 'file_exists' )); - $this->config = new Config($this->fileSystem, $this->api); + $this->config = new Config($this->fileSystem, $this->logger); $this->configPath = 'config.json'; } @@ -94,7 +94,7 @@ class ConfigFetcherTest extends \OCA\News\Utility\TestUtility { ->method('file_get_contents') ->with($this->equalTo($this->configPath)) ->will($this->returnValue('autoPurgeCounts = 3')); - $this->api->expects($this->once()) + $this->logger->expects($this->once()) ->method('log') ->with($this->equalTo('Configuration value "autoPurgeCounts" ' . 'does not exist. Ignored value.'), @@ -109,7 +109,7 @@ class ConfigFetcherTest extends \OCA\News\Utility\TestUtility { ->method('file_get_contents') ->with($this->equalTo($this->configPath)) ->will($this->returnValue('')); - $this->api->expects($this->once()) + $this->logger->expects($this->once()) ->method('log') ->with($this->equalTo('Configuration invalid. Ignoring values.'), $this->equalTo('warn')); diff --git a/tests/unit/utility/OPMLExporterTest.php b/tests/unit/utility/OPMLExporterTest.php index cf20f6347..eb9384f27 100644 --- a/tests/unit/utility/OPMLExporterTest.php +++ b/tests/unit/utility/OPMLExporterTest.php @@ -31,7 +31,7 @@ use \OCA\News\Db\Feed; require_once(__DIR__ . "/../../classloader.php"); -class OPMLExporterTest extends \OCA\News\Utility\TestUtility { +class OPMLExporterTest extends \PHPUnit_Framework_TestCase { private $exporter; private $feed1; diff --git a/utility/config.php b/utility/config.php index d415595b7..b2416ce9a 100644 --- a/utility/config.php +++ b/utility/config.php @@ -25,7 +25,7 @@ namespace OCA\News\Utility; -use \OCA\News\Core\API; +use \OCA\News\Core\Logger; class Config { @@ -43,17 +43,17 @@ class Config { private $proxyPort; private $proxyUser; private $proxyPassword; - private $api; + private $logger; - public function __construct($fileSystem, API $api) { + public function __construct($fileSystem, Logger $logger) { $this->fileSystem = $fileSystem; $this->autoPurgeMinimumInterval = 60; $this->autoPurgeCount = 200; $this->simplePieCacheDuration = 30*60; $this->feedFetcherTimeout = 60; $this->useCronUpdates = true; - $this->api = $api; + $this->logger = $logger; $this->proxyHost = ''; $this->proxyPort = 8080; $this->proxyUser = ''; @@ -162,7 +162,7 @@ class Config { $configValues = parse_ini_string($content); if($configValues === false || count($configValues) === 0) { - $this->api->log('Configuration invalid. Ignoring values.' , 'warn'); + $this->logger->log('Configuration invalid. Ignoring values.' , 'warn'); } else { foreach($configValues as $key => $value) { @@ -171,7 +171,7 @@ class Config { settype($value, $type); $this->$key = $value; } else { - $this->api->log('Configuration value "' . $key . + $this->logger->log('Configuration value "' . $key . '" does not exist. Ignored value.' , 'warn'); } } diff --git a/utility/controllertestutility.php b/utility/controllertestutility.php index d3cc435e3..ab534bfc6 100644 --- a/utility/controllertestutility.php +++ b/utility/controllertestutility.php @@ -31,7 +31,7 @@ use OCP\AppFramework\Http\Response; /** * Simple utility class for testing controllers */ -abstract class ControllerTestUtility extends TestUtility { +abstract class ControllerTestUtility extends \PHPUnit_Framework_TestCase { /** diff --git a/utility/mappertestutility.php b/utility/mappertestutility.php index d78e717aa..27b513f15 100644 --- a/utility/mappertestutility.php +++ b/utility/mappertestutility.php @@ -24,16 +24,16 @@ namespace OCA\News\Utility; -use OCA\News\Core\Api; +use OCA\News\Core\Db; /** * Simple utility class for testing mappers */ -abstract class MapperTestUtility extends TestUtility { +abstract class MapperTestUtility extends \PHPUnit_Framework_TestCase { - protected $api; + protected $db; private $query; private $pdoResult; private $queryAt; @@ -44,12 +44,13 @@ abstract class MapperTestUtility extends TestUtility { /** * Run this function before the actual test to either set or initialize the - * api. After this the api can be accessed by using $this->api + * db. After this the db can be accessed by using $this->db */ protected function beforeEach(){ - $this->api = $this->getMock('\OCA\News\Core\API', - array('prepareQuery', 'getInsertId'), - array('a')); + $this->db = $this->getMockBuilder( + '\OCA\News\Core\Db') + ->disableOriginalConstructor() + ->getMock(); $this->query = $this->getMock('Query', array('execute', 'bindValue')); $this->pdoResult = $this->getMock('Result', array('fetchRow')); @@ -127,24 +128,24 @@ abstract class MapperTestUtility extends TestUtility { $this->queryAt++; if($limit === null && $offset === null) { - $this->api->expects($this->at($this->prepareAt)) + $this->db->expects($this->at($this->prepareAt)) ->method('prepareQuery') ->with($this->equalTo($sql)) ->will(($this->returnValue($this->query))); } elseif($limit !== null && $offset === null) { - $this->api->expects($this->at($this->prepareAt)) + $this->db->expects($this->at($this->prepareAt)) ->method('prepareQuery') ->with($this->equalTo($sql), $this->equalTo($limit)) ->will(($this->returnValue($this->query))); } elseif($limit === null && $offset !== null) { - $this->api->expects($this->at($this->prepareAt)) + $this->db->expects($this->at($this->prepareAt)) ->method('prepareQuery') ->with($this->equalTo($sql), $this->equalTo(null), $this->equalTo($offset)) ->will(($this->returnValue($this->query))); } else { - $this->api->expects($this->at($this->prepareAt)) + $this->db->expects($this->at($this->prepareAt)) ->method('prepareQuery') ->with($this->equalTo($sql), $this->equalTo($limit), diff --git a/utility/testutility.php b/utility/testutility.php deleted file mode 100644 index 8e79147d9..000000000 --- a/utility/testutility.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php - -/** - * ownCloud - News - * - * @author Bernhard Posselt - * @copyright 2012 Bernhard Posselt dev@bernhard-posselt.com - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this library. If not, see <http://www.gnu.org/licenses/>. - * - */ - - -namespace OCA\News\Utility; - -/** - * Simple utility class for testing anything using an api - */ -abstract class TestUtility extends \PHPUnit_Framework_TestCase { - - - /** - * Boilerplate function for getting an API Mock class - * @param string $apiClass the class inclusive namespace of the api that we - * want to use - * @param array $constructor constructor parameters of the api class - */ - protected function getAPIMock($apiClass='OCA\News\Core\API', - array $constructor=array('appname')){ - $methods = get_class_methods($apiClass); - return $this->getMock($apiClass, $methods, $constructor); - } - - -}
\ No newline at end of file |