1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?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 OC\AppFramework\Middleware\Security;
- use OC\AppFramework\Http\Request;
- use OC\AppFramework\Middleware\SessionMiddleware;
- use OC\AppFramework\Utility\ControllerMethodReflector;
- use OCP\AppFramework\Http\Response;
- class SessionMiddlewareTest extends \Test\TestCase {
- /**
- * @var ControllerMethodReflector
- */
- private $reflector;
- /**
- * @var Request
- */
- private $request;
- protected function setUp() {
- parent::setUp();
- $this->request = new Request(
- [],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock(),
- $this->getMock('\OCP\IConfig')
- );
- $this->reflector = new ControllerMethodReflector();
- }
- /**
- * @UseSession
- */
- public function testSessionNotClosedOnBeforeController() {
- $session = $this->getSessionMock(0);
- $this->reflector->reflect($this, __FUNCTION__);
- $middleware = new SessionMiddleware($this->request, $this->reflector, $session);
- $middleware->beforeController($this, __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, __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, __FUNCTION__);
- }
- public function testSessionNotClosedOnAfterController() {
- $session = $this->getSessionMock(0);
- $this->reflector->reflect($this, __FUNCTION__);
- $middleware = new SessionMiddleware($this->request, $this->reflector, $session);
- $middleware->afterController($this, __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;
- }
- }
|