/** * Create the default share provider. * * @return DefaultShareProvider */ protected function defaultShareProvider() { if ($this->defaultProvider === null) { $this->defaultProvider = new DefaultShareProvider($this->serverContainer->getDatabaseConnection(), $this->serverContainer->getUserManager(), $this->serverContainer->getGroupManager(), $this->serverContainer->getRootFolder()); } return $this->defaultProvider; }
/** * Creates a small folder/file hierarchy and returns the top folder * * @param string $userId * @param string $userPassword * * @return Folder */ private function createEnv($userId, $userPassword) { $this->setupUser($userId, $userPassword); $userFolder = $this->server->getUserFolder($userId); $user = $this->server->getUserManager()->get($userId); $user->setDisplayName('UberTester (' . $userId . ')'); $folder1 = $userFolder->newFolder('folder1'); $folder1->newFile('file1'); $subFolder = $folder1->newFolder('folder1.1'); $subFolder->newFile('file1.1'); return $folder1; }
/** * Create new LDAPProvider * @param \OCP\IServerContainer $serverContainer * @throws \Exception if user_ldap app was not enabled */ public function __construct(IServerContainer $serverContainer, Helper $helper, DeletedUsersIndex $deletedUsersIndex) { $this->logger = $serverContainer->getLogger(); $this->helper = $helper; $this->deletedUsersIndex = $deletedUsersIndex; foreach ($serverContainer->getUserManager()->getBackends() as $backend) { $this->logger->debug('instance ' . get_class($backend) . ' backend.', ['app' => 'user_ldap']); if ($backend instanceof IUserLDAP) { $this->backend = $backend; return; } } throw new \Exception('To use the LDAPProvider, user_ldap app must be enabled'); }
/** * Called before executing all tests in a suite * * If the module is injected, you need to use _initialize() * * @param array $settings */ public function _beforeSuite($settings = []) { $this->coreTestCase = new CoreTestCase(); $app = new App('gallery-test-setup'); $this->container = $app->getContainer(); $this->server = $this->container->getServer(); $this->rootFolder = $this->server->getRootFolder(); $this->userManager = $this->server->getUserManager(); /** * Logging hooks are missing at the moment, so we need to disable encryption * * @link https://github.com/owncloud/core/issues/18085#issuecomment-128093797 */ $this->server->getConfig()->setAppValue('core', 'encryption_enabled', 'no'); // This is because the filesystem is not properly cleaned up sometimes $this->server->getAppManager()->disableApp('files_trashbin'); $this->setPreviewProviders(); $this->createTestSetup($this->userId, $this->userPassword); $this->createTestSetup($this->sharerUserId, $this->sharerPassword); $this->createShares(); }
/** * Create the federated share provider * * @return FederatedShareProvider */ protected function federatedShareProvider() { if ($this->federatedProvider === null) { /* * Check if the app is enabled */ $appManager = $this->serverContainer->getAppManager(); if (!$appManager->isEnabledForUser('federatedfilesharing')) { return null; } /* * TODO: add factory to federated sharing app */ $l = $this->serverContainer->getL10N('federatedfilessharing'); $addressHandler = new AddressHandler($this->serverContainer->getURLGenerator(), $l); $discoveryManager = new DiscoveryManager($this->serverContainer->getMemCacheFactory(), $this->serverContainer->getHTTPClientService()); $notifications = new Notifications($addressHandler, $this->serverContainer->getHTTPClientService(), $discoveryManager, $this->serverContainer->getJobList()); $tokenHandler = new TokenHandler($this->serverContainer->getSecureRandom()); $this->federatedProvider = new FederatedShareProvider($this->serverContainer->getDatabaseConnection(), $addressHandler, $notifications, $tokenHandler, $l, $this->serverContainer->getLogger(), $this->serverContainer->getLazyRootFolder(), $this->serverContainer->getConfig(), $this->serverContainer->getUserManager()); } return $this->federatedProvider; }