12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?php
- /**
- * ownCloud - App Framework
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Thomas Müller <deepdiver@owncloud.com>
- * @copyright Thomas Müller 2014
- */
- namespace Test\AppFramework\Middleware;
- use OC\AppFramework\Http\Request;
- use OC\AppFramework\Middleware\SessionMiddleware;
- use OC\AppFramework\Utility\ControllerMethodReflector;
- use OCP\AppFramework\Controller;
- use OCP\AppFramework\Http\Response;
- use OCP\IConfig;
- class SessionMiddlewareTest extends \Test\TestCase {
- /** @var ControllerMethodReflector */
- private $reflector;
- /** @var Request */
- private $request;
- /** @var Controller */
- private $controller;
- protected function setUp() {
- parent::setUp();
- $this->request = new Request(
- [],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock(),
- $this->getMockBuilder(IConfig::class)->getMock()
- );
- $this->reflector = new ControllerMethodReflector();
- $this->controller = $this->createMock(Controller::class);
- }
- /**
- * @UseSession
- */
- public function testSessionNotClosedOnBeforeController() {
- $session = $this->getSessionMock(0);
- $this->reflector->reflect($this, __FUNCTION__);
- $middleware = new SessionMiddleware($this->request, $this->reflector, $session);
- $middleware->beforeController($this->controller, __FUNCTION__);
- }
- /**
- * @UseSession
- */
- public function testSessionClosedOnAfterController() {
- $session = $this->getSessionMock(1);
- $this->reflector->reflect($this, __FUNCTION__);
- $middleware = new SessionMiddleware($this->request, $this->reflector, $session);
- $middleware->afterController($this->controller, __FUNCTION__, new Response());
- }
- public function testSessionClosedOnBeforeController() {
- $session = $this->getSessionMock(1);
- $this->reflector->reflect($this, __FUNCTION__);
- $middleware = new SessionMiddleware($this->request, $this->reflector, $session);
- $middleware->beforeController($this->controller, __FUNCTION__);
- }
- public function testSessionNotClosedOnAfterController() {
- $session = $this->getSessionMock(0);
- $this->reflector->reflect($this, __FUNCTION__);
- $middleware = new SessionMiddleware($this->request, $this->reflector, $session);
- $middleware->afterController($this->controller, __FUNCTION__, new Response());
- }
- /**
- * @return mixed
- */
- private function getSessionMock($expectedCloseCount) {
- $session = $this->getMockBuilder('\OC\Session\Memory')
- ->disableOriginalConstructor()
- ->getMock();
- $session->expects($this->exactly($expectedCloseCount))
- ->method('close');
- return $session;
- }
- }
|