From 05f1ff871578f9d2663c8217df1af40494c9ded6 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 11 Jun 2015 10:47:51 +0200 Subject: [PATCH 1/3] Correctly import NullCache class --- lib/private/server.php | 1 + tests/lib/server.php | 51 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 tests/lib/server.php diff --git a/lib/private/server.php b/lib/private/server.php index 6e4f1517c1..3df5b67fef 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -47,6 +47,7 @@ use OC\Lock\NoopLockingProvider; use OC\Mail\Mailer; use OC\Memcache\ArrayCache; use OC\Http\Client\ClientService; +use OC\Memcache\NullCache; use OC\Security\CertificateManager; use OC\Files\Node\Root; use OC\Files\View; diff --git a/tests/lib/server.php b/tests/lib/server.php new file mode 100644 index 0000000000..eabc58f2bc --- /dev/null +++ b/tests/lib/server.php @@ -0,0 +1,51 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program 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, version 3, + * along with this program. If not, see + * + */ + +namespace Test; + +class Server extends \Test\TestCase { + /** @var \OC\Server */ + protected $server; + + + public function setUp() { + parent::setUp(); + $this->server = new \OC\Server(''); + } + + public function dataTestQuery() { + return [ + ['NullCache', '\OC\Memcache\NullCache'], + ['NullCache', '\OC\Memcache\Cache'], + ['NullCache', '\OCP\IMemcache'], + ]; + } + + /** + * @dataProvider dataTestQuery + * + * @param string $serviceName + * @param string $instanceOf + */ + public function testQuery($serviceName, $instanceOf) { + $this->assertInstanceOf($instanceOf, $this->server->query($serviceName), 'Service ' . $serviceName . ' did not return the right class'); + } +} From 4582d1483252145073f945d68bf615b52d6436bc Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 11 Jun 2015 11:29:27 +0200 Subject: [PATCH 2/3] Order all use statements correctly --- lib/private/server.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/private/server.php b/lib/private/server.php index 3df5b67fef..5ed9d78f41 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -39,25 +39,25 @@ use OC\AppFramework\Http\Request; use OC\AppFramework\Db\Db; use OC\AppFramework\Utility\SimpleContainer; use OC\Command\AsyncBus; -use OC\Diagnostics\NullQueryLogger; use OC\Diagnostics\EventLogger; +use OC\Diagnostics\NullEventLogger; +use OC\Diagnostics\NullQueryLogger; use OC\Diagnostics\QueryLogger; +use OC\Files\Node\Root; +use OC\Files\View; +use OC\Http\Client\ClientService; use OC\Lock\MemcacheLockingProvider; use OC\Lock\NoopLockingProvider; use OC\Mail\Mailer; use OC\Memcache\ArrayCache; -use OC\Http\Client\ClientService; use OC\Memcache\NullCache; use OC\Security\CertificateManager; -use OC\Files\Node\Root; -use OC\Files\View; use OC\Security\Crypto; use OC\Security\Hasher; use OC\Security\SecureRandom; -use OC\Diagnostics\NullEventLogger; use OC\Security\TrustedDomainHelper; -use OCP\IServerContainer; use OC\Tagging\TagMapper; +use OCP\IServerContainer; /** * Class Server From afa030c5614f64986636ebcfc1b48d0a081ec439 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 11 Jun 2015 11:29:45 +0200 Subject: [PATCH 3/3] Check the query() for all defined services --- tests/lib/server.php | 113 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 112 insertions(+), 1 deletion(-) diff --git a/tests/lib/server.php b/tests/lib/server.php index eabc58f2bc..9d45d069b6 100644 --- a/tests/lib/server.php +++ b/tests/lib/server.php @@ -33,9 +33,110 @@ class Server extends \Test\TestCase { public function dataTestQuery() { return [ + ['ActivityManager', '\OC\ActivityManager'], + ['ActivityManager', '\OCP\Activity\IManager'], + ['AllConfig', '\OC\AllConfig'], + ['AllConfig', '\OCP\IConfig'], + ['AppConfig', '\OC\AppConfig'], + ['AppConfig', '\OCP\IAppConfig'], + ['AppHelper', '\OC\AppHelper'], + ['AppHelper', '\OCP\IHelper'], + ['AppManager', '\OC\App\AppManager'], + ['AppManager', '\OCP\App\IAppManager'], + ['AsyncCommandBus', '\OC\Command\AsyncBus'], + ['AsyncCommandBus', '\OCP\Command\IBus'], + ['AvatarManager', '\OC\AvatarManager'], + ['AvatarManager', '\OCP\IAvatarManager'], + + ['ContactsManager', '\OC\ContactsManager'], + ['ContactsManager', '\OCP\Contacts\IManager'], + ['Crypto', '\OC\Security\Crypto'], + ['Crypto', '\OCP\Security\ICrypto'], + + ['DatabaseConnection', '\OC\DB\Connection'], + ['DatabaseConnection', '\OCP\IDBConnection'], + ['DateTimeFormatter', '\OC\DateTimeFormatter'], + ['DateTimeFormatter', '\OCP\IDateTimeFormatter'], + ['DateTimeZone', '\OC\DateTimeZone'], + ['DateTimeZone', '\OCP\IDateTimeZone'], + ['Db', '\OC\AppFramework\Db\Db'], + ['Db', '\OCP\IDb'], + + ['EncryptionFileHelper', '\OC\Encryption\File'], + ['EncryptionFileHelper', '\OCP\Encryption\IFile'], + ['EncryptionKeyStorage', '\OC\Encryption\Keys\Storage'], + ['EncryptionKeyStorage', '\OCP\Encryption\Keys\IStorage'], + ['EncryptionManager', '\OC\Encryption\Manager'], + ['EncryptionManager', '\OCP\Encryption\IManager'], + ['EventLogger', '\OCP\Diagnostics\IEventLogger'], + + ['GroupManager', '\OC\Group\Manager'], + ['GroupManager', '\OCP\IGroupManager'], + + ['Hasher', '\OC\Security\Hasher'], + ['Hasher', '\OCP\Security\IHasher'], + ['HTTPHelper', '\OC\HTTPHelper'], + ['HttpClientService', '\OC\Http\Client\ClientService'], + ['HttpClientService', '\OCP\Http\Client\IClientService'], + + ['IniWrapper', '\bantu\IniGetWrapper\IniGetWrapper'], + + ['JobList', '\OC\BackgroundJob\JobList'], + ['JobList', '\OCP\BackgroundJob\IJobList'], + + ['L10NFactory', '\OC\L10N\Factory'], + ['LockingProvider', '\OCP\Lock\ILockingProvider'], + ['Logger', '\OC\Log'], + ['Logger', '\OCP\ILogger'], + + ['Mailer', '\OC\Mail\Mailer'], + ['Mailer', '\OCP\Mail\IMailer'], + ['MemCacheFactory', '\OC\Memcache\Factory'], + ['MemCacheFactory', '\OCP\ICacheFactory'], + ['MountConfigManager', '\OC\Files\Config\MountProviderCollection'], + ['MountConfigManager', '\OCP\Files\Config\IMountProviderCollection'], + + ['NavigationManager', '\OC\NavigationManager'], + ['NavigationManager', '\OCP\INavigationManager'], ['NullCache', '\OC\Memcache\NullCache'], ['NullCache', '\OC\Memcache\Cache'], ['NullCache', '\OCP\IMemcache'], + + ['OcsClient', '\OC\OCSClient'], + + ['PreviewManager', '\OC\PreviewManager'], + ['PreviewManager', '\OCP\IPreview'], + + ['QueryLogger', '\OCP\Diagnostics\IQueryLogger'], + + ['Request', '\OC\AppFramework\Http\Request'], + ['Request', '\OCP\IRequest'], + ['RootFolder', '\OC\Files\Node\Root'], + ['RootFolder', '\OC\Files\Node\Folder'], + ['RootFolder', '\OCP\Files\IRootFolder'], + ['RootFolder', '\OCP\Files\Folder'], + ['Router', '\OCP\Route\IRouter'], + + ['Search', '\OC\Search'], + ['Search', '\OCP\ISearch'], + ['SecureRandom', '\OC\Security\SecureRandom'], + ['SecureRandom', '\OCP\Security\ISecureRandom'], + ['SystemConfig', '\OC\SystemConfig'], + + ['URLGenerator', '\OC\URLGenerator'], + ['URLGenerator', '\OCP\IURLGenerator'], + ['UserManager', '\OC\User\Manager'], + ['UserManager', '\OCP\IUserManager'], + ['UserSession', '\OC\User\Session'], + ['UserSession', '\OCP\IUserSession'], + + ['TagMapper', '\OC\Tagging\TagMapper'], + ['TagMapper', '\OCP\AppFramework\Db\Mapper'], + ['TagManager', '\OC\TagManager'], + ['TagManager', '\OCP\ITagManager'], + ['TempManager', '\OC\TempManager'], + ['TempManager', '\OCP\ITempManager'], + ['TrustedDomainHelper', '\OC\Security\TrustedDomainHelper'], ]; } @@ -46,6 +147,16 @@ class Server extends \Test\TestCase { * @param string $instanceOf */ public function testQuery($serviceName, $instanceOf) { - $this->assertInstanceOf($instanceOf, $this->server->query($serviceName), 'Service ' . $serviceName . ' did not return the right class'); + $this->assertInstanceOf($instanceOf, $this->server->query($serviceName), 'Service "' . $serviceName . '"" did not return the right class'); + } + + public function testGetCertificateManager() { + $this->assertInstanceOf('\OC\Security\CertificateManager', $this->server->getCertificateManager('test'), 'service returned by "getCertificateManager" did not return the right class'); + $this->assertInstanceOf('\OCP\ICertificateManager', $this->server->getCertificateManager('test'), 'service returned by "getCertificateManager" did not return the right class'); + } + + public function testCreateEventSource() { + $this->assertInstanceOf('\OC_EventSource', $this->server->createEventSource(), 'service returned by "createEventSource" did not return the right class'); + $this->assertInstanceOf('\OCP\IEventSource', $this->server->createEventSource(), 'service returned by "createEventSource" did not return the right class'); } }