Beispiel #1
0
 public static function tearDownAfterClass()
 {
     \OC_Hook::clear();
     \OC_FileProxy::clearProxies();
     // Delete keys in /data/
     $view = new \OC\Files\View('/');
     $view->rmdir('public-keys');
     $view->rmdir('owncloud_private_key');
 }
Beispiel #2
0
 public static function tearDownAfterClass()
 {
     // cleanup test user
     \OC_User::deleteUser(\Test_Encryption_Stream::TEST_ENCRYPTION_STREAM_USER1);
     \OC_Hook::clear();
     \OC_FileProxy::clearProxies();
     // Delete keys in /data/
     $view = new \OC\Files\View('/');
     $view->rmdir('public-keys');
     $view->rmdir('owncloud_private_key');
 }
Beispiel #3
0
 public static function tearDownAfterClass()
 {
     \OC_FileProxy::$enabled = true;
     // cleanup test user
     \OC_User::deleteUser(\Test_Encryption_Keymanager::TEST_USER);
     // reset app files_trashbin
     if (self::$stateFilesTrashbin) {
         OC_App::enable('files_trashbin');
     }
     \OC_Hook::clear();
     \OC_FileProxy::clearProxies();
     // Delete keys in /data/
     $view = new \OC\Files\View('/');
     $view->rmdir('public-keys');
     $view->rmdir('owncloud_private_key');
 }
Beispiel #4
0
 public function testDeleteGhostFolder()
 {
     $storage = new Temporary(array());
     $scanner = $storage->getScanner();
     $cache = $storage->getCache();
     $storage->mkdir('foo');
     $storage->file_put_contents('foo/foo.txt', 'bar');
     \OC\Files\Filesystem::mount($storage, array(), '/test/');
     $scanner->scan('');
     $storage->rmdir('foo');
     $this->assertTrue($cache->inCache('foo'));
     $this->assertTrue($cache->inCache('foo/foo.txt'));
     $view = new \OC\Files\View('/test');
     $rootInfo = $view->getFileInfo('');
     $this->assertEquals(3, $rootInfo->getSize());
     $view->rmdir('foo');
     $newInfo = $view->getFileInfo('');
     $this->assertFalse($cache->inCache('foo'));
     $this->assertFalse($cache->inCache('foo/foo.txt'));
     $this->assertNotEquals($rootInfo->getEtag(), $newInfo->getEtag());
     $this->assertEquals(0, $newInfo->getSize());
 }
Beispiel #5
0
 /**
  * Test that deleted versions properly land in the trashbin when deleting as share recipient.
  */
 public function testDeleteVersionsOfFolderAsRecipient()
 {
     \OCA\Files_Versions\Hooks::connectHooks();
     $this->userView->mkdir('share');
     $this->userView->mkdir('share/folder');
     // trigger a version (multiple would not work because of the expire logic)
     $this->userView->file_put_contents('share/folder/test.txt', 'v1');
     $this->userView->file_put_contents('share/folder/test.txt', 'v2');
     $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/share/folder/');
     $this->assertEquals(1, count($results));
     $recipientUser = $this->getUniqueId('recipient_');
     \OC::$server->getUserManager()->createUser($recipientUser, $recipientUser);
     $fileinfo = $this->userView->getFileInfo('share');
     $this->assertTrue(\OCP\Share::shareItem('folder', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_USER, $recipientUser, 31));
     $this->loginAsUser($recipientUser);
     // delete as recipient
     $recipientView = new \OC\Files\View('/' . $recipientUser . '/files');
     $recipientView->rmdir('share/folder');
     // rescan trash storage
     list($rootStorage, ) = $this->rootView->resolvePath($this->user . '/files_trashbin');
     $rootStorage->getScanner()->scan('');
     // check if versions are in trashbin for owner
     $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions');
     $this->assertEquals(1, count($results));
     $name = $results[0]->getName();
     $this->assertEquals('folder.d', substr($name, 0, strlen('folder.d')));
     // check if file versions are in trashbin for owner
     $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions/' . $name . '/');
     $this->assertEquals(1, count($results));
     $name = $results[0]->getName();
     $this->assertEquals('test.txt.v', substr($name, 0, strlen('test.txt.v')));
     // check if versions are in trashbin for recipient
     $results = $this->rootView->getDirectoryContent($recipientUser . '/files_trashbin/versions');
     $this->assertEquals(1, count($results));
     $name = $results[0]->getName();
     $this->assertEquals('folder.d', substr($name, 0, strlen('folder.d')));
     // check if file versions are in trashbin for recipient
     $results = $this->rootView->getDirectoryContent($recipientUser . '/files_trashbin/versions/' . $name . '/');
     $this->assertEquals(1, count($results));
     $name = $results[0]->getName();
     $this->assertEquals('test.txt.v', substr($name, 0, strlen('test.txt.v')));
     // versions deleted
     $results = $this->rootView->getDirectoryContent($recipientUser . '/files_versions/share/folder/');
     $this->assertEquals(0, count($results));
 }
Beispiel #6
0
 public function testRemoveMoveableMountPoint()
 {
     $mountPoint = '/' . $this->user . '/files/mount/';
     // Mock the mount point
     $mount = $this->getMockBuilder('\\Test\\TestMoveableMountPoint')->disableOriginalConstructor()->getMock();
     $mount->expects($this->once())->method('getMountPoint')->willReturn($mountPoint);
     $mount->expects($this->once())->method('removeMount')->willReturn('foo');
     $mount->expects($this->any())->method('getInternalPath')->willReturn('');
     // Register mount
     \OC\Files\Filesystem::getMountManager()->addMount($mount);
     // Listen for events
     $eventHandler = $this->getMockBuilder('\\stdclass')->setMethods(['umount', 'post_umount'])->getMock();
     $eventHandler->expects($this->once())->method('umount')->with([\OC\Files\Filesystem::signal_param_path => '/mount']);
     $eventHandler->expects($this->once())->method('post_umount')->with([\OC\Files\Filesystem::signal_param_path => '/mount']);
     \OCP\Util::connectHook(\OC\Files\Filesystem::CLASSNAME, 'umount', $eventHandler, 'umount');
     \OCP\Util::connectHook(\OC\Files\Filesystem::CLASSNAME, 'post_umount', $eventHandler, 'post_umount');
     //Delete the mountpoint
     $view = new \OC\Files\View('/' . $this->user . '/files');
     $this->assertEquals('foo', $view->rmdir('mount'));
 }
Beispiel #7
0
 public static function tearDownAfterClass()
 {
     // cleanup test user
     \OC_User::deleteUser(\Test_Encryption_Util::TEST_ENCRYPTION_UTIL_USER1);
     \OC_User::deleteUser(\Test_Encryption_Util::TEST_ENCRYPTION_UTIL_USER2);
     \OC_User::deleteUser(\Test_Encryption_Util::TEST_ENCRYPTION_UTIL_LEGACY_USER);
     //cleanup groups
     \OC_Group::deleteGroup(self::TEST_ENCRYPTION_UTIL_GROUP1);
     \OC_Group::deleteGroup(self::TEST_ENCRYPTION_UTIL_GROUP2);
     \OC_Hook::clear();
     \OC_FileProxy::clearProxies();
     // Delete keys in /data/
     $view = new \OC\Files\View('/');
     $view->rmdir('public-keys');
     $view->rmdir('owncloud_private_key');
 }
Beispiel #8
0
 public static function tearDownAfterClass()
 {
     // clean group
     \OC_Group::deleteGroup(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_GROUP1);
     // cleanup users
     \OC_User::deleteUser(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER1);
     \OC_User::deleteUser(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER2);
     \OC_User::deleteUser(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER3);
     \OC_User::deleteUser(\Test_Encryption_Share::TEST_ENCRYPTION_SHARE_USER4);
     \OC_Hook::clear();
     \OC_FileProxy::clearProxies();
     // Delete keys in /data/
     $view = new \OC\Files\View('/');
     $view->rmdir('public-keys');
     $view->rmdir('owncloud_private_key');
 }
 public static function tearDownAfterClass()
 {
     // cleanup test user
     \OC_User::deleteUser(self::TEST_ENCRYPTION_TRASHBIN_USER1);
     \OC_Hook::clear();
     \OC_FileProxy::clearProxies();
     // Delete keys in /data/
     $view = new \OC\Files\View('/');
     $view->rmdir('public-keys');
     $view->rmdir('owncloud_private_key');
     parent::tearDownAfterClass();
 }