Fix tests

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
Roeland Jago Douma 2018-11-01 11:29:29 +01:00
parent bfb5ef4b29
commit 0e5147f001
No known key found for this signature in database
GPG Key ID: F941078878347C0C
5 changed files with 21 additions and 31 deletions

View File

@ -84,9 +84,9 @@ class App {
*/ */
public static function main(string $controllerName, string $methodName, DIContainer $container, array $urlParams = null) { public static function main(string $controllerName, string $methodName, DIContainer $container, array $urlParams = null) {
if (!is_null($urlParams)) { if (!is_null($urlParams)) {
$container[IRequest::class]->setUrlParameters($urlParams); $container->query(IRequest::class)->setUrlParameters($urlParams);
} else if (isset($container['urlParams']) && !is_null($container['urlParams'])) { } else if (isset($container['urlParams']) && !is_null($container['urlParams'])) {
$container[IRequest::class]->setUrlParameters($container['urlParams']); $container->query(IRequest::class)->setUrlParameters($container['urlParams']);
} }
$appName = $container['AppName']; $appName = $container['AppName'];

View File

@ -47,22 +47,21 @@ use OC\AppFramework\Middleware\Security\SecurityMiddleware;
use OC\AppFramework\Middleware\SessionMiddleware; use OC\AppFramework\Middleware\SessionMiddleware;
use OC\AppFramework\Utility\SimpleContainer; use OC\AppFramework\Utility\SimpleContainer;
use OC\Core\Middleware\TwoFactorMiddleware; use OC\Core\Middleware\TwoFactorMiddleware;
use OC\RichObjectStrings\Validator;
use OC\ServerContainer; use OC\ServerContainer;
use OCP\AppFramework\Http\IOutput; use OCP\AppFramework\Http\IOutput;
use OCP\AppFramework\IAppContainer; use OCP\AppFramework\IAppContainer;
use OCP\AppFramework\QueryException; use OCP\AppFramework\QueryException;
use OCP\AppFramework\Utility\IControllerMethodReflector;
use OCP\AppFramework\Utility\ITimeFactory; use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Files\Folder; use OCP\Files\Folder;
use OCP\Files\IAppData; use OCP\Files\IAppData;
use OCP\GlobalScale\IConfig; use OCP\GlobalScale\IConfig;
use OCP\IL10N; use OCP\IL10N;
use OCP\ILogger; use OCP\ILogger;
use OCP\IRequest;
use OCP\IServerContainer; use OCP\IServerContainer;
use OCP\ISession; use OCP\ISession;
use OCP\IUserSession; use OCP\IUserSession;
use OCP\RichObjectStrings\IValidator;
use OCP\Encryption\IManager;
use OCA\WorkflowEngine\Manager; use OCA\WorkflowEngine\Manager;
class DIContainer extends SimpleContainer implements IAppContainer { class DIContainer extends SimpleContainer implements IAppContainer {
@ -86,6 +85,8 @@ class DIContainer extends SimpleContainer implements IAppContainer {
$this['AppName'] = $appName; $this['AppName'] = $appName;
$this['urlParams'] = $urlParams; $this['urlParams'] = $urlParams;
$this->registerAlias('Request', IRequest::class);
/** @var \OC\ServerContainer $server */ /** @var \OC\ServerContainer $server */
if ($server === null) { if ($server === null) {
$server = \OC::$server; $server = \OC::$server;
@ -185,7 +186,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
return new SecurityMiddleware( return new SecurityMiddleware(
$c['Request'], $c['Request'],
$c['ControllerMethodReflector'], $server->query(IControllerMethodReflector::class),
$server->getNavigationManager(), $server->getNavigationManager(),
$server->getURLGenerator(), $server->getURLGenerator(),
$server->getLogger(), $server->getLogger(),
@ -205,7 +206,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
$server = $app->getServer(); $server = $app->getServer();
return new OC\AppFramework\Middleware\Security\PasswordConfirmationMiddleware( return new OC\AppFramework\Middleware\Security\PasswordConfirmationMiddleware(
$c['ControllerMethodReflector'], $c->query(IControllerMethodReflector::class),
$server->getSession(), $server->getSession(),
$server->getUserSession(), $server->getUserSession(),
$server->query(ITimeFactory::class) $server->query(ITimeFactory::class)
@ -217,7 +218,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
$server = $app->getServer(); $server = $app->getServer();
return new OC\AppFramework\Middleware\Security\BruteForceMiddleware( return new OC\AppFramework\Middleware\Security\BruteForceMiddleware(
$c['ControllerMethodReflector'], $c->query(IControllerMethodReflector::class),
$server->getBruteForceThrottler(), $server->getBruteForceThrottler(),
$server->getRequest() $server->getRequest()
); );
@ -230,7 +231,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
return new RateLimitingMiddleware( return new RateLimitingMiddleware(
$server->getRequest(), $server->getRequest(),
$server->getUserSession(), $server->getUserSession(),
$c['ControllerMethodReflector'], $c->query(IControllerMethodReflector::class),
$c->query(OC\Security\RateLimiting\Limiter::class) $c->query(OC\Security\RateLimiting\Limiter::class)
); );
}); });
@ -238,7 +239,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
$this->registerService('CORSMiddleware', function($c) { $this->registerService('CORSMiddleware', function($c) {
return new CORSMiddleware( return new CORSMiddleware(
$c['Request'], $c['Request'],
$c['ControllerMethodReflector'], $c->query(IControllerMethodReflector::class),
$c->query(IUserSession::class), $c->query(IUserSession::class),
$c->getServer()->getBruteForceThrottler() $c->getServer()->getBruteForceThrottler()
); );
@ -247,7 +248,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
$this->registerService('SessionMiddleware', function($c) use ($app) { $this->registerService('SessionMiddleware', function($c) use ($app) {
return new SessionMiddleware( return new SessionMiddleware(
$c['Request'], $c['Request'],
$c['ControllerMethodReflector'], $c->query(IControllerMethodReflector::class),
$app->getServer()->getSession() $app->getServer()->getSession()
); );
}); });
@ -257,7 +258,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
$userSession = $app->getServer()->getUserSession(); $userSession = $app->getServer()->getUserSession();
$session = $app->getServer()->getSession(); $session = $app->getServer()->getSession();
$urlGenerator = $app->getServer()->getURLGenerator(); $urlGenerator = $app->getServer()->getURLGenerator();
$reflector = $c['ControllerMethodReflector']; $reflector = $c->query(IControllerMethodReflector::class);
$request = $app->getServer()->getRequest(); $request = $app->getServer()->getRequest();
return new TwoFactorMiddleware($twoFactorManager, $userSession, $session, $urlGenerator, $reflector, $request); return new TwoFactorMiddleware($twoFactorManager, $userSession, $session, $urlGenerator, $reflector, $request);
}); });
@ -271,7 +272,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
$this->registerService(OC\AppFramework\Middleware\Security\SameSiteCookieMiddleware::class, function (SimpleContainer $c) { $this->registerService(OC\AppFramework\Middleware\Security\SameSiteCookieMiddleware::class, function (SimpleContainer $c) {
return new OC\AppFramework\Middleware\Security\SameSiteCookieMiddleware( return new OC\AppFramework\Middleware\Security\SameSiteCookieMiddleware(
$c['Request'], $c['Request'],
$c['ControllerMethodReflector'] $c->query(IControllerMethodReflector::class)
); );
}); });

View File

@ -176,5 +176,4 @@ class SimpleContainer extends Container implements IContainer {
} }
return $name; return $name;
} }
} }

View File

@ -25,6 +25,8 @@
namespace Test\AppFramework; namespace Test\AppFramework;
use OC\AppFramework\App; use OC\AppFramework\App;
use OC\AppFramework\Http\Dispatcher;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http; use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Response; use OCP\AppFramework\Http\Response;
@ -60,16 +62,9 @@ class AppTest extends \Test\TestCase {
parent::setUp(); parent::setUp();
$this->container = new \OC\AppFramework\DependencyInjection\DIContainer('test', array()); $this->container = new \OC\AppFramework\DependencyInjection\DIContainer('test', array());
$this->controller = $this->getMockBuilder( $this->controller = $this->createMock(Controller::class);
'OCP\AppFramework\Controller') $this->dispatcher = $this->createMock(Dispatcher::class);
->disableOriginalConstructor() $this->io = $this->createMock(Http\IOutput::class);
->getMock();
$this->dispatcher = $this->getMockBuilder(
'OC\AppFramework\Http\Dispatcher')
->disableOriginalConstructor()
->getMock();
$this->io = $this->getMockBuilder('OCP\\AppFramework\\Http\\IOutput')->getMock();
$this->headers = array('key' => 'value'); $this->headers = array('key' => 'value');
$this->output = 'hi'; $this->output = 'hi';

View File

@ -40,7 +40,6 @@ class DIContainerTest extends \Test\TestCase {
/** @var DIContainer|\PHPUnit_Framework_MockObject_MockObject */ /** @var DIContainer|\PHPUnit_Framework_MockObject_MockObject */
private $container; private $container;
private $api;
protected function setUp(){ protected function setUp(){
parent::setUp(); parent::setUp();
@ -78,12 +77,8 @@ class DIContainerTest extends \Test\TestCase {
public function testMiddlewareDispatcherIncludesSecurityMiddleware(){ public function testMiddlewareDispatcherIncludesSecurityMiddleware(){
$this->container['Request'] = new Request( $this->container['Request'] = new Request(
['method' => 'GET'], ['method' => 'GET'],
$this->getMockBuilder(ISecureRandom::class) $this->createMock(ISecureRandom::class),
->disableOriginalConstructor() $this->createMock(IConfig::class)
->getMock(),
$this->getMockBuilder(IConfig::class)
->disableOriginalConstructor()
->getMock()
); );
$security = $this->container['SecurityMiddleware']; $security = $this->container['SecurityMiddleware'];
$dispatcher = $this->container['MiddlewareDispatcher']; $dispatcher = $this->container['MiddlewareDispatcher'];