mirror of
https://github.com/nextcloud/server.git
synced 2026-04-15 22:11:17 -04:00
Force test cases using background commands to handle setting up the filesystem
This commit is contained in:
parent
7ec8f12ad4
commit
3ed6ed3c36
3 changed files with 22 additions and 3 deletions
|
|
@ -11,8 +11,12 @@ namespace OC\Command;
|
|||
use OCP\IUser;
|
||||
|
||||
trait FileAccess {
|
||||
protected function getUserFolder(IUser $user) {
|
||||
protected function setupFS(IUser $user){
|
||||
\OC_Util::setupFS($user->getUID());
|
||||
}
|
||||
|
||||
protected function getUserFolder(IUser $user) {
|
||||
$this->setupFS($user);
|
||||
return \OC::$server->getUserFolder($user->getUID());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ class QueueBus implements IBus {
|
|||
/**
|
||||
* @var (ICommand|callable)[]
|
||||
*/
|
||||
private $queue;
|
||||
private $queue = [];
|
||||
|
||||
/**
|
||||
* Schedule a command to be fired
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
namespace Test;
|
||||
|
||||
use OC\Command\QueueBus;
|
||||
use OC\Files\Filesystem;
|
||||
use OCP\Security\ISecureRandom;
|
||||
|
||||
abstract class TestCase extends \PHPUnit_Framework_TestCase {
|
||||
|
|
@ -34,7 +35,7 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase {
|
|||
protected function setUp() {
|
||||
// overwrite the command bus with one we can run ourselves
|
||||
$this->commandBus = new QueueBus();
|
||||
\OC::$server->registerService('AsyncCommandBus', function(){
|
||||
\OC::$server->registerService('AsyncCommandBus', function () {
|
||||
return $this->commandBus;
|
||||
});
|
||||
}
|
||||
|
|
@ -190,6 +191,20 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase {
|
|||
* Run all commands pushed to the bus
|
||||
*/
|
||||
protected function runCommands() {
|
||||
// get the user for which the fs is setup
|
||||
$view = Filesystem::getView();
|
||||
if ($view) {
|
||||
list(, $user) = explode('/', $view->getRoot());
|
||||
} else {
|
||||
$user = null;
|
||||
}
|
||||
|
||||
\OC_Util::tearDownFS(); // command cant reply on the fs being setup
|
||||
$this->commandBus->run();
|
||||
\OC_Util::tearDownFS();
|
||||
|
||||
if ($user) {
|
||||
\OC_Util::setupFS($user);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue