2015-06-11 08:47:51 +00:00
< ? php
/**
* @ author Joas Schilling < nickvergessen @ owncloud . com >
2015-03-21 19:03:56 +00:00
* @ author Lukas Reschke < lukas @ owncloud . com >
* @ author Roeland Jago Douma < roeland @ famdouma . nl >
* @ author Thomas Müller < thomas . mueller @ tmit . eu >
2015-06-11 08:47:51 +00:00
*
* @ 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 < http :// www . gnu . org / licenses />
*
*/
namespace Test ;
2016-10-31 10:07:54 +00:00
use OC\App\AppStore\Fetcher\AppFetcher ;
use OC\App\AppStore\Fetcher\CategoryFetcher ;
2015-06-11 08:47:51 +00:00
2015-11-20 10:27:11 +00:00
/**
* Class Server
*
* @ group DB
*
* @ package Test
*/
2016-05-20 13:38:20 +00:00
class ServerTest extends \Test\TestCase {
2015-06-11 08:47:51 +00:00
/** @var \OC\Server */
protected $server ;
public function setUp () {
parent :: setUp ();
2015-12-18 10:24:15 +00:00
$config = new \OC\Config ( \OC :: $configDir );
$this -> server = new \OC\Server ( '' , $config );
2015-06-11 08:47:51 +00:00
}
public function dataTestQuery () {
return [
2016-05-02 09:57:24 +00:00
[ 'ActivityManager' , '\OC\Activity\Manager' ],
2015-06-11 09:29:45 +00:00
[ 'ActivityManager' , '\OCP\Activity\IManager' ],
[ 'AllConfig' , '\OC\AllConfig' ],
[ 'AllConfig' , '\OCP\IConfig' ],
[ 'AppConfig' , '\OC\AppConfig' ],
[ 'AppConfig' , '\OCP\IAppConfig' ],
2016-10-31 10:07:54 +00:00
[ 'AppFetcher' , AppFetcher :: class ],
2015-06-11 09:29:45 +00:00
[ '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' ],
2016-10-31 10:07:54 +00:00
[ 'CategoryFetcher' , CategoryFetcher :: class ],
2015-07-22 11:04:56 +00:00
[ 'CapabilitiesManager' , '\OC\CapabilitiesManager' ],
2015-06-11 09:29:45 +00:00
[ 'ContactsManager' , '\OC\ContactsManager' ],
[ 'ContactsManager' , '\OCP\Contacts\IManager' ],
2016-01-28 13:33:02 +00:00
[ 'ContentSecurityPolicyManager' , '\OC\Security\CSP\ContentSecurityPolicyManager' ],
2015-11-23 22:53:55 +00:00
[ 'CommentsManager' , '\OCP\Comments\ICommentsManager' ],
2015-06-11 09:29:45 +00:00
[ 'Crypto' , '\OC\Security\Crypto' ],
[ 'Crypto' , '\OCP\Security\ICrypto' ],
2015-07-20 10:59:04 +00:00
[ 'CryptoWrapper' , '\OC\Session\CryptoWrapper' ],
2016-01-28 13:33:02 +00:00
[ 'CsrfTokenManager' , '\OC\Security\CSRF\CsrfTokenManager' ],
2015-06-11 09:29:45 +00:00
[ 'DatabaseConnection' , '\OC\DB\Connection' ],
[ 'DatabaseConnection' , '\OCP\IDBConnection' ],
[ 'DateTimeFormatter' , '\OC\DateTimeFormatter' ],
[ 'DateTimeFormatter' , '\OCP\IDateTimeFormatter' ],
[ 'DateTimeZone' , '\OC\DateTimeZone' ],
[ 'DateTimeZone' , '\OCP\IDateTimeZone' ],
[ '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' ],
2016-01-07 12:20:43 +00:00
[ 'MimeTypeDetector' , '\OCP\Files\IMimeTypeDetector' ],
[ 'MimeTypeDetector' , '\OC\Files\Type\Detection' ],
2015-06-11 09:29:45 +00:00
[ 'JobList' , '\OC\BackgroundJob\JobList' ],
[ 'JobList' , '\OCP\BackgroundJob\IJobList' ],
[ 'L10NFactory' , '\OC\L10N\Factory' ],
2015-08-28 10:08:54 +00:00
[ 'L10NFactory' , '\OCP\L10N\IFactory' ],
2015-06-11 09:29:45 +00:00
[ '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' ],
2015-09-03 13:26:17 +00:00
[ 'NotificationManager' , '\OC\Notification\Manager' ],
2016-01-14 13:35:24 +00:00
[ 'NotificationManager' , '\OCP\Notification\IManager' ],
2015-06-15 17:16:48 +00:00
[ 'UserCache' , '\OC\Cache\File' ],
2015-06-29 20:43:18 +00:00
[ 'UserCache' , '\OCP\ICache' ],
2015-06-11 09:29:45 +00:00
[ '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' ],
2016-01-27 13:48:52 +00:00
[ 'ShareManager' , '\OC\Share20\Manager' ],
[ 'ShareManager' , '\OCP\Share\IManager' ],
2015-06-11 09:29:45 +00:00
[ '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' ],
2016-08-19 09:26:22 +00:00
[ 'ThemingDefaults' , '\OCA\Theming\ThemingDefaults' ],
2015-06-11 09:29:45 +00:00
[ 'TrustedDomainHelper' , '\OC\Security\TrustedDomainHelper' ],
2016-01-19 15:17:49 +00:00
[ 'SystemTagManager' , '\OCP\SystemTag\ISystemTagManager' ],
[ 'SystemTagObjectMapper' , '\OCP\SystemTag\ISystemTagObjectMapper' ],
2015-06-11 08:47:51 +00:00
];
}
/**
* @ dataProvider dataTestQuery
*
* @ param string $serviceName
* @ param string $instanceOf
*/
public function testQuery ( $serviceName , $instanceOf ) {
2015-06-11 09:29:45 +00:00
$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' );
2015-06-11 08:47:51 +00:00
}
2015-12-03 20:53:58 +00:00
public function testOverwriteDefaultCommentsManager () {
$config = $this -> server -> getConfig ();
$defaultManagerFactory = $config -> getSystemValue ( 'comments.managerFactory' , '\OC\Comments\ManagerFactory' );
$config -> setSystemValue ( 'comments.managerFactory' , '\Test\Comments\FakeFactory' );
$manager = $this -> server -> getCommentsManager ();
$this -> assertInstanceOf ( '\OCP\Comments\ICommentsManager' , $manager );
$config -> setSystemValue ( 'comments.managerFactory' , $defaultManagerFactory );
}
2015-06-11 08:47:51 +00:00
}