some tests for the file blacklist
This commit is contained in:
parent
2f0fd84477
commit
503922ff6c
|
@ -24,7 +24,7 @@ class Test_Filesystem extends UnitTestCase {
|
||||||
/**
|
/**
|
||||||
* @var array tmpDirs
|
* @var array tmpDirs
|
||||||
*/
|
*/
|
||||||
private $tmpDirs=array();
|
private $tmpDirs = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array
|
* @return array
|
||||||
|
@ -72,21 +72,55 @@ class Test_Filesystem extends UnitTestCase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testHooks() {
|
public function testBlacklist() {
|
||||||
if(OC_Filesystem::getView()){
|
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();
|
$user = OC_User::getUser();
|
||||||
}else{
|
} else {
|
||||||
$user=uniqid();
|
$user = uniqid();
|
||||||
OC_Filesystem::init('/'.$user.'/files');
|
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()) {
|
||||||
|
$user = OC_User::getUser();
|
||||||
|
} else {
|
||||||
|
$user = uniqid();
|
||||||
|
OC_Filesystem::init('/' . $user . '/files');
|
||||||
}
|
}
|
||||||
OC_Hook::clear('OC_Filesystem');
|
OC_Hook::clear('OC_Filesystem');
|
||||||
OC_Hook::connect('OC_Filesystem', 'post_write', $this, 'dummyHook');
|
OC_Hook::connect('OC_Filesystem', 'post_write', $this, 'dummyHook');
|
||||||
|
|
||||||
OC_Filesystem::mount('OC_Filestorage_Temporary', array(), '/');
|
OC_Filesystem::mount('OC_Filestorage_Temporary', array(), '/');
|
||||||
|
|
||||||
$rootView=new OC_FilesystemView('');
|
$rootView = new OC_FilesystemView('');
|
||||||
$rootView->mkdir('/'.$user);
|
$rootView->mkdir('/' . $user);
|
||||||
$rootView->mkdir('/'.$user.'/files');
|
$rootView->mkdir('/' . $user . '/files');
|
||||||
|
|
||||||
OC_Filesystem::file_put_contents('/foo', 'foo');
|
OC_Filesystem::file_put_contents('/foo', 'foo');
|
||||||
OC_Filesystem::mkdir('/bar');
|
OC_Filesystem::mkdir('/bar');
|
||||||
|
|
Loading…
Reference in New Issue