diff options
author | Lukas Reschke <lukas@owncloud.com> | 2016-01-06 00:03:08 +0100 |
---|---|---|
committer | Roeland Jago Douma <rullzer@owncloud.com> | 2016-01-06 11:40:22 +0100 |
commit | 88c7face07722d03806c5b89a41a3ab90bbd9718 (patch) | |
tree | e95003decc4033538a188050b8a2cf7cf50db34c /apps/provisioning_api | |
parent | c77917f48c6c6d7110c7380a398e25beb906f50f (diff) | |
download | nextcloud-server-88c7face07722d03806c5b89a41a3ab90bbd9718.tar.gz nextcloud-server-88c7face07722d03806c5b89a41a3ab90bbd9718.zip |
Inject OCSClient
Fixes https://github.com/owncloud/core/issues/21451
Diffstat (limited to 'apps/provisioning_api')
-rw-r--r-- | apps/provisioning_api/appinfo/routes.php | 3 | ||||
-rw-r--r-- | apps/provisioning_api/lib/apps.php | 10 | ||||
-rw-r--r-- | apps/provisioning_api/tests/appstest.php | 30 |
3 files changed, 25 insertions, 18 deletions
diff --git a/apps/provisioning_api/appinfo/routes.php b/apps/provisioning_api/appinfo/routes.php index 22a923f5c20..1b9328d608a 100644 --- a/apps/provisioning_api/appinfo/routes.php +++ b/apps/provisioning_api/appinfo/routes.php @@ -62,7 +62,8 @@ API::register('get', '/cloud/groups/{groupid}/subadmins', [$groups, 'getSubAdmin // Apps $apps = new \OCA\Provisioning_API\Apps( - \OC::$server->getAppManager() + \OC::$server->getAppManager(), + \OC::$server->getOcsClient() ); API::register('get', '/cloud/apps', [$apps, 'getApps'], 'provisioning_api', API::ADMIN_AUTH); API::register('get', '/cloud/apps/{appid}', [$apps, 'getAppInfo'], 'provisioning_api', API::ADMIN_AUTH); diff --git a/apps/provisioning_api/lib/apps.php b/apps/provisioning_api/lib/apps.php index e0fa63cca34..2a3fd414d39 100644 --- a/apps/provisioning_api/lib/apps.php +++ b/apps/provisioning_api/lib/apps.php @@ -25,19 +25,23 @@ namespace OCA\Provisioning_API; +use OC\OCSClient; use \OC_OCS_Result; use \OC_App; class Apps { - /** @var \OCP\App\IAppManager */ private $appManager; + /** @var OCSClient */ + private $ocsClient; /** * @param \OCP\App\IAppManager $appManager */ - public function __construct(\OCP\App\IAppManager $appManager) { + public function __construct(\OCP\App\IAppManager $appManager, + OCSClient $ocsClient) { $this->appManager = $appManager; + $this->ocsClient = $ocsClient; } /** @@ -45,7 +49,7 @@ class Apps { * @return OC_OCS_Result */ public function getApps($parameters) { - $apps = OC_App::listAllApps(); + $apps = OC_App::listAllApps(false, true, $this->ocsClient); $list = []; foreach($apps as $app) { $list[] = $app['id']; diff --git a/apps/provisioning_api/tests/appstest.php b/apps/provisioning_api/tests/appstest.php index 4ccba704a3a..871158c5545 100644 --- a/apps/provisioning_api/tests/appstest.php +++ b/apps/provisioning_api/tests/appstest.php @@ -23,6 +23,7 @@ */ namespace OCA\Provisioning_API\Tests; +use OC\OCSClient; use OCA\Provisioning_API\Apps; use OCP\API; use OCP\App\IAppManager; @@ -36,42 +37,43 @@ use OCP\IUserSession; * @package OCA\Provisioning_API\Tests */ class AppsTest extends TestCase { - /** @var IAppManager */ private $appManager; - /** @var Apps */ private $api; - /** @var IUserSession */ private $userSession; + /** @var OCSClient */ + private $ocsClient; public function setup() { parent::setup(); $this->appManager = \OC::$server->getAppManager(); $this->groupManager = \OC::$server->getGroupManager(); $this->userSession = \OC::$server->getUserSession(); - $this->api = new Apps($this->appManager); + $this->ocsClient = $this->getMockBuilder('\OC\OCSClient') + ->disableOriginalConstructor()->getMock(); + $this->api = new Apps($this->appManager, $this->ocsClient); } public function testGetAppInfo() { $result = $this->api->getAppInfo(['appid' => 'provisioning_api']); $this->assertInstanceOf('OC_OCS_Result', $result); $this->assertTrue($result->succeeded()); - } public function testGetAppInfoOnBadAppID() { - $result = $this->api->getAppInfo(['appid' => 'not_provisioning_api']); $this->assertInstanceOf('OC_OCS_Result', $result); $this->assertFalse($result->succeeded()); $this->assertEquals(API::RESPOND_NOT_FOUND, $result->getStatusCode()); - } public function testGetApps() { - + $this->ocsClient + ->expects($this->any()) + ->method($this->anything()) + ->will($this->returnValue(null)); $user = $this->generateUsers(); $this->groupManager->get('admin')->addUser($user); $this->userSession->setUser($user); @@ -80,27 +82,27 @@ class AppsTest extends TestCase { $this->assertTrue($result->succeeded()); $data = $result->getData(); - $this->assertEquals(count(\OC_App::listAllApps()), count($data['apps'])); - + $this->assertEquals(count(\OC_App::listAllApps(false, true, $this->ocsClient)), count($data['apps'])); } public function testGetAppsEnabled() { - $_GET['filter'] = 'enabled'; $result = $this->api->getApps(['filter' => 'enabled']); $this->assertTrue($result->succeeded()); $data = $result->getData(); $this->assertEquals(count(\OC_App::getEnabledApps()), count($data['apps'])); - } public function testGetAppsDisabled() { - + $this->ocsClient + ->expects($this->any()) + ->method($this->anything()) + ->will($this->returnValue(null)); $_GET['filter'] = 'disabled'; $result = $this->api->getApps(['filter' => 'disabled']); $this->assertTrue($result->succeeded()); $data = $result->getData(); - $apps = \OC_App::listAllApps(); + $apps = \OC_App::listAllApps(false, true, $this->ocsClient); $list = array(); foreach($apps as $app) { $list[] = $app['id']; |