Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2012-11-03 03:10:21 +0400
committerRobin Appelman <icewind@owncloud.com>2012-11-03 03:26:36 +0400
commit503922ff6cd6d80c9c5cdd58925d76de00d2f311 (patch)
tree32f808accc1c5b0e9f26ae4244a831a9ad432182 /tests
parent2f0fd844777a6a2beeea61a03ad3c8b645327748 (diff)
some tests for the file blacklist
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/filesystem.php50
1 files changed, 42 insertions, 8 deletions
diff --git a/tests/lib/filesystem.php b/tests/lib/filesystem.php
index e22b3f1c0d8..07c25e1498a 100644
--- a/tests/lib/filesystem.php
+++ b/tests/lib/filesystem.php
@@ -24,7 +24,7 @@ class Test_Filesystem extends UnitTestCase {
/**
* @var array tmpDirs
*/
- private $tmpDirs=array();
+ private $tmpDirs = array();
/**
* @return array
@@ -72,21 +72,55 @@ class Test_Filesystem extends UnitTestCase {
}
}
+ public function testBlacklist() {
+ OC_Hook::clear('OC_Filesystem');
+ OC_Hook::connect('OC_Filesystem', 'write', 'OC_Filesystem', 'isBlacklisted');
+ OC_Hook::connect('OC_Filesystem', 'rename', 'OC_Filesystem', 'isBlacklisted');
+
+ $run = true;
+ OC_Hook::emit(
+ OC_Filesystem::CLASSNAME,
+ OC_Filesystem::signal_write,
+ array(
+ OC_Filesystem::signal_param_path => '/test/.htaccess',
+ OC_Filesystem::signal_param_run => &$run
+ )
+ );
+ $this->assertFalse($run);
+
+ if (OC_Filesystem::getView()) {
+ $user = OC_User::getUser();
+ } else {
+ $user = uniqid();
+ OC_Filesystem::init('/' . $user . '/files');
+ }
+
+ OC_Filesystem::mount('OC_Filestorage_Temporary', array(), '/');
+
+ $rootView = new OC_FilesystemView('');
+ $rootView->mkdir('/' . $user);
+ $rootView->mkdir('/' . $user . '/files');
+
+ $this->assertFalse(OC_Filesystem::file_put_contents('/.htaccess', 'foo'));
+ $fh = fopen(__FILE__, 'r');
+ $this->assertFalse(OC_Filesystem::file_put_contents('/.htaccess', $fh));
+ }
+
public function testHooks() {
- if(OC_Filesystem::getView()){
+ if (OC_Filesystem::getView()) {
$user = OC_User::getUser();
- }else{
- $user=uniqid();
- OC_Filesystem::init('/'.$user.'/files');
+ } else {
+ $user = uniqid();
+ OC_Filesystem::init('/' . $user . '/files');
}
OC_Hook::clear('OC_Filesystem');
OC_Hook::connect('OC_Filesystem', 'post_write', $this, 'dummyHook');
OC_Filesystem::mount('OC_Filestorage_Temporary', array(), '/');
- $rootView=new OC_FilesystemView('');
- $rootView->mkdir('/'.$user);
- $rootView->mkdir('/'.$user.'/files');
+ $rootView = new OC_FilesystemView('');
+ $rootView->mkdir('/' . $user);
+ $rootView->mkdir('/' . $user . '/files');
OC_Filesystem::file_put_contents('/foo', 'foo');
OC_Filesystem::mkdir('/bar');