public static function setUpBeforeClass() { parent::setUpBeforeClass(); $application = new Application(); $application->registerMountProviders(); // reset backend \OC_User::clearBackends(); \OC_Group::clearBackends(); // clear share hooks \OC_Hook::clear('OCP\\Share'); \OC::registerShareHooks(); // create users $backend = new \Test\Util\User\Dummy(); \OC_User::useBackend($backend); $backend->createUser(self::TEST_FILES_SHARING_API_USER1, self::TEST_FILES_SHARING_API_USER1); $backend->createUser(self::TEST_FILES_SHARING_API_USER2, self::TEST_FILES_SHARING_API_USER2); $backend->createUser(self::TEST_FILES_SHARING_API_USER3, self::TEST_FILES_SHARING_API_USER3); $backend->createUser(self::TEST_FILES_SHARING_API_USER4, self::TEST_FILES_SHARING_API_USER4); // create group $groupBackend = new \OC_Group_Dummy(); $groupBackend->createGroup(self::TEST_FILES_SHARING_API_GROUP1); $groupBackend->createGroup('group'); $groupBackend->addToGroup(self::TEST_FILES_SHARING_API_USER1, 'group'); $groupBackend->addToGroup(self::TEST_FILES_SHARING_API_USER2, 'group'); $groupBackend->addToGroup(self::TEST_FILES_SHARING_API_USER3, 'group'); $groupBackend->addToGroup(self::TEST_FILES_SHARING_API_USER2, self::TEST_FILES_SHARING_API_GROUP1); \OC_Group::useBackend($groupBackend); }
protected function setUp() { $app = new Application(); $this->container = $app->getContainer(); $this->container['Config'] = $this->getMockBuilder('\\OCP\\IConfig')->disableOriginalConstructor()->getMock(); $this->container['AppName'] = 'files_sharing'; $this->container['UserSession'] = $this->getMockBuilder('\\OC\\User\\Session')->disableOriginalConstructor()->getMock(); $this->container['URLGenerator'] = $this->getMockBuilder('\\OC\\URLGenerator')->disableOriginalConstructor()->getMock(); $this->container['UserManager'] = $this->getMockBuilder('\\OCP\\IUserManager')->disableOriginalConstructor()->getMock(); $this->urlGenerator = $this->container['URLGenerator']; $this->shareController = $this->container['ShareController']; // Store current user $this->oldUser = \OC_User::getUser(); // Create a dummy user $this->user = \OC::$server->getSecureRandom()->getLowStrengthGenerator()->generate(12, ISecureRandom::CHAR_LOWER); \OC_User::createUser($this->user, $this->user); \OC_Util::tearDownFS(); $this->loginAsUser($this->user); // Create a dummy shared file $view = new View('/' . $this->user . '/files'); $view->file_put_contents('file1.txt', 'I am such an awesome shared file!'); $this->token = \OCP\Share::shareItem(Filesystem::getFileInfo('file1.txt')->getType(), Filesystem::getFileInfo('file1.txt')->getId(), \OCP\Share::SHARE_TYPE_LINK, 'IAmPasswordProtected!', 1); }
* 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 OCA\Files_Sharing\AppInfo; use OCP\API; $application = new Application(); $application->registerRoutes($this, ['resources' => ['ExternalShares' => ['url' => '/api/externalShares']]]); /** @var $this \OCP\Route\IRouter */ $this->create('core_ajax_public_preview', '/publicpreview')->action(function () { require_once __DIR__ . '/../ajax/publicpreview.php'; }); $this->create('files_sharing_ajax_list', 'ajax/list.php')->actionInclude('files_sharing/ajax/list.php'); $this->create('files_sharing_ajax_publicpreview', 'ajax/publicpreview.php')->actionInclude('files_sharing/ajax/publicpreview.php'); $this->create('sharing_external_shareinfo', '/shareinfo')->actionInclude('files_sharing/ajax/shareinfo.php'); $this->create('sharing_external_add', '/external')->actionInclude('files_sharing/ajax/external.php'); $this->create('sharing_external_test_remote', '/testremote')->actionInclude('files_sharing/ajax/testremote.php'); // OCS API //TODO: SET: mail notification, waiting for PR #4689 to be accepted API::register('get', '/apps/files_sharing/api/v1/shares', array('\\OCA\\Files_Sharing\\API\\Local', 'getAllShares'), 'files_sharing'); API::register('post', '/apps/files_sharing/api/v1/shares', array('\\OCA\\Files_Sharing\\API\\Local', 'createShare'), 'files_sharing'); API::register('get', '/apps/files_sharing/api/v1/shares/{id}', array('\\OCA\\Files_Sharing\\API\\Local', 'getShare'), 'files_sharing');
* 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 OCA\Files_Sharing\AppInfo; use OCP\API; $application = new Application(); $application->registerRoutes($this, ['resources' => ['ExternalShares' => ['url' => '/api/externalShares']], 'routes' => [['name' => 'externalShares#testRemote', 'url' => '/testremote', 'verb' => 'GET']]]); /** @var $this \OCP\Route\IRouter */ $this->create('core_ajax_public_preview', '/publicpreview')->action(function () { require_once __DIR__ . '/../ajax/publicpreview.php'; }); $this->create('files_sharing_ajax_list', 'ajax/list.php')->actionInclude('files_sharing/ajax/list.php'); $this->create('files_sharing_ajax_publicpreview', 'ajax/publicpreview.php')->actionInclude('files_sharing/ajax/publicpreview.php'); $this->create('sharing_external_shareinfo', '/shareinfo')->actionInclude('files_sharing/ajax/shareinfo.php'); $this->create('sharing_external_add', '/external')->actionInclude('files_sharing/ajax/external.php'); // OCS API //TODO: SET: mail notification, waiting for PR #4689 to be accepted API::register('get', '/apps/files_sharing/api/v1/shares', array('\\OCA\\Files_Sharing\\API\\Local', 'getAllShares'), 'files_sharing'); API::register('post', '/apps/files_sharing/api/v1/shares', array('\\OCA\\Files_Sharing\\API\\Local', 'createShare'), 'files_sharing'); API::register('get', '/apps/files_sharing/api/v1/shares/{id}', array('\\OCA\\Files_Sharing\\API\\Local', 'getShare'), 'files_sharing'); API::register('put', '/apps/files_sharing/api/v1/shares/{id}', array('\\OCA\\Files_Sharing\\API\\Local', 'updateShare'), 'files_sharing');