Пример #1
0
 /**
  * Test that putting a file triggers hooks with the correct path
  * if the passed view was chrooted (can happen with public webdav
  * where the root is the share root)
  */
 public function testPutSingleFileTriggersHooksDifferentRoot()
 {
     $view = \OC\Files\Filesystem::getView();
     $view->mkdir('noderoot');
     HookHelper::setUpHooks();
     // happens with public webdav where the view root is the share root
     $this->assertNotEmpty($this->doPut('/foo.txt', '/' . $this->user . '/files/noderoot'));
     $this->assertCount(4, HookHelper::$hookCalls);
     $this->assertHookCall(HookHelper::$hookCalls[0], Filesystem::signal_create, '/noderoot/foo.txt');
     $this->assertHookCall(HookHelper::$hookCalls[1], Filesystem::signal_write, '/noderoot/foo.txt');
     $this->assertHookCall(HookHelper::$hookCalls[2], Filesystem::signal_post_create, '/noderoot/foo.txt');
     $this->assertHookCall(HookHelper::$hookCalls[3], Filesystem::signal_post_write, '/noderoot/foo.txt');
 }
Пример #2
0
 /**
  * Test that putting a chunked file triggers update hooks
  */
 public function testPutOverwriteChunkedFileTriggersHooks()
 {
     $view = \OC\Files\Filesystem::getView();
     $view->file_put_contents('/foo.txt', 'some content that will be replaced');
     HookHelper::setUpHooks();
     $_SERVER['HTTP_OC_CHUNKED'] = true;
     $this->assertNull($this->doPut('/foo.txt-chunking-12345-2-0'));
     $this->assertNotEmpty($this->doPut('/foo.txt-chunking-12345-2-1'));
     $this->assertCount(4, HookHelper::$hookCalls);
     $this->assertHookCall(HookHelper::$hookCalls[0], Filesystem::signal_update, '/foo.txt');
     $this->assertHookCall(HookHelper::$hookCalls[1], Filesystem::signal_write, '/foo.txt');
     $this->assertHookCall(HookHelper::$hookCalls[2], Filesystem::signal_post_update, '/foo.txt');
     $this->assertHookCall(HookHelper::$hookCalls[3], Filesystem::signal_post_write, '/foo.txt');
 }