egroupware/api/tests/Vfs/StreamWrapperTest.php

60 lines
1.4 KiB
PHP
Raw Normal View History

2020-09-16 19:48:40 +02:00
<?php
/**
* Test the basic Vfs::StreamWrapper
*
* @link http://www.egroupware.org
* @author Nathan Gray
* @copyright (c) 2020 Nathan Gray
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
*/
namespace EGroupware\Api\Vfs;
require_once __DIR__ . '/StreamWrapperBase.php';
use EGroupware\Api;
use EGroupware\Api\LoggedInTest as LoggedInTest;
use EGroupware\Api\Vfs;
use EGroupware\Stylite\Vfs\Versioning;
class StreamWrapperTest extends StreamWrapperBase
{
protected function setUp() : void
{
parent::setUp();
$this->files[] = $this->test_file = $this->getFilename();
2020-09-16 19:48:40 +02:00
}
protected function tearDown() : void
{
// Do local stuff first, parent will remove stuff
parent::tearDown();
}
public function testWithAccess() : void
2020-09-16 19:48:40 +02:00
{
// Put it in the group directory this time so we can give access
$this->files[] = $this->test_file = $this->getFilename('/home/Default');
2020-09-16 19:48:40 +02:00
parent::testWithAccess();
2020-09-16 19:48:40 +02:00
}
protected function mount(): void
2020-09-16 19:48:40 +02:00
{
// Nothing here
}
2020-09-16 19:48:40 +02:00
protected function allowAccess(string $test_name, string &$test_file, int $test_user, string $needed) : void
{
// We'll allow access by putting test user in Default group
$command = new \admin_cmd_edit_user($test_user, ['account_groups' => array_merge($this->account['account_groups'],['Default'])]);
$command->run();
2020-09-16 19:48:40 +02:00
// Add explicit permission on group
Vfs::chmod($test_file, Vfs::mode2int('g+'.$needed));
2020-09-16 19:48:40 +02:00
}
}