aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/appframework/middleware/security/CORSMiddlewareTest.php')
-rw-r--r--tests/lib/appframework/middleware/security/CORSMiddlewareTest.php235
1 files changed, 0 insertions, 235 deletions
diff --git a/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php b/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php
deleted file mode 100644
index cf5f97a046f..00000000000
--- a/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php
+++ /dev/null
@@ -1,235 +0,0 @@
-<?php
-/**
- * ownCloud - App Framework
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Bernhard Posselt <dev@bernhard-posselt.com>
- * @copyright Bernhard Posselt 2014
- */
-
-
-namespace OC\AppFramework\Middleware\Security;
-
-use OC\AppFramework\Http\Request;
-use OC\AppFramework\Utility\ControllerMethodReflector;
-use OC\AppFramework\Middleware\Security\Exceptions\SecurityException;
-use OCP\AppFramework\Http;
-use OCP\AppFramework\Http\JSONResponse;
-use OCP\AppFramework\Http\Response;
-
-
-class CORSMiddlewareTest extends \Test\TestCase {
-
- private $reflector;
- private $session;
-
- protected function setUp() {
- parent::setUp();
- $this->reflector = new ControllerMethodReflector();
- $this->session = $this->getMock('\OCP\IUserSession');
- }
-
- /**
- * @CORS
- */
- public function testSetCORSAPIHeader() {
- $request = new Request(
- [
- 'server' => [
- 'HTTP_ORIGIN' => 'test'
- ]
- ],
- $this->getMock('\OCP\Security\ISecureRandom'),
- $this->getMock('\OCP\IConfig')
- );
- $this->reflector->reflect($this, __FUNCTION__);
- $middleware = new CORSMiddleware($request, $this->reflector, $this->session);
-
- $response = $middleware->afterController($this, __FUNCTION__, new Response());
- $headers = $response->getHeaders();
- $this->assertEquals('test', $headers['Access-Control-Allow-Origin']);
- }
-
-
- public function testNoAnnotationNoCORSHEADER() {
- $request = new Request(
- [
- 'server' => [
- 'HTTP_ORIGIN' => 'test'
- ]
- ],
- $this->getMock('\OCP\Security\ISecureRandom'),
- $this->getMock('\OCP\IConfig')
- );
- $middleware = new CORSMiddleware($request, $this->reflector, $this->session);
-
- $response = $middleware->afterController($this, __FUNCTION__, new Response());
- $headers = $response->getHeaders();
- $this->assertFalse(array_key_exists('Access-Control-Allow-Origin', $headers));
- }
-
-
- /**
- * @CORS
- */
- public function testNoOriginHeaderNoCORSHEADER() {
- $request = new Request(
- [],
- $this->getMock('\OCP\Security\ISecureRandom'),
- $this->getMock('\OCP\IConfig')
- );
- $this->reflector->reflect($this, __FUNCTION__);
- $middleware = new CORSMiddleware($request, $this->reflector, $this->session);
-
- $response = $middleware->afterController($this, __FUNCTION__, new Response());
- $headers = $response->getHeaders();
- $this->assertFalse(array_key_exists('Access-Control-Allow-Origin', $headers));
- }
-
-
- /**
- * @CORS
- * @expectedException \OC\AppFramework\Middleware\Security\Exceptions\SecurityException
- */
- public function testCorsIgnoredIfWithCredentialsHeaderPresent() {
- $request = new Request(
- [
- 'server' => [
- 'HTTP_ORIGIN' => 'test'
- ]
- ],
- $this->getMock('\OCP\Security\ISecureRandom'),
- $this->getMock('\OCP\IConfig')
- );
- $this->reflector->reflect($this, __FUNCTION__);
- $middleware = new CORSMiddleware($request, $this->reflector, $this->session);
-
- $response = new Response();
- $response->addHeader('AcCess-control-Allow-Credentials ', 'TRUE');
- $middleware->afterController($this, __FUNCTION__, $response);
- }
-
- /**
- * @CORS
- * @PublicPage
- */
- public function testNoCORSShouldAllowCookieAuth() {
- $request = new Request(
- [],
- $this->getMock('\OCP\Security\ISecureRandom'),
- $this->getMock('\OCP\IConfig')
- );
- $this->reflector->reflect($this, __FUNCTION__);
- $middleware = new CORSMiddleware($request, $this->reflector, $this->session);
- $this->session->expects($this->never())
- ->method('logout');
- $this->session->expects($this->never())
- ->method('login')
- ->with($this->equalTo('user'), $this->equalTo('pass'))
- ->will($this->returnValue(true));
- $this->reflector->reflect($this, __FUNCTION__);
-
- $middleware->beforeController($this, __FUNCTION__, new Response());
- }
-
- /**
- * @CORS
- */
- public function testCORSShouldRelogin() {
- $request = new Request(
- ['server' => [
- 'PHP_AUTH_USER' => 'user',
- 'PHP_AUTH_PW' => 'pass'
- ]],
- $this->getMock('\OCP\Security\ISecureRandom'),
- $this->getMock('\OCP\IConfig')
- );
- $this->session->expects($this->once())
- ->method('logout');
- $this->session->expects($this->once())
- ->method('login')
- ->with($this->equalTo('user'), $this->equalTo('pass'))
- ->will($this->returnValue(true));
- $this->reflector->reflect($this, __FUNCTION__);
- $middleware = new CORSMiddleware($request, $this->reflector, $this->session);
-
- $middleware->beforeController($this, __FUNCTION__, new Response());
- }
-
- /**
- * @CORS
- * @expectedException \OC\AppFramework\Middleware\Security\Exceptions\SecurityException
- */
- public function testCORSShouldNotAllowCookieAuth() {
- $request = new Request(
- ['server' => [
- 'PHP_AUTH_USER' => 'user',
- 'PHP_AUTH_PW' => 'pass'
- ]],
- $this->getMock('\OCP\Security\ISecureRandom'),
- $this->getMock('\OCP\IConfig')
- );
- $this->session->expects($this->once())
- ->method('logout');
- $this->session->expects($this->once())
- ->method('login')
- ->with($this->equalTo('user'), $this->equalTo('pass'))
- ->will($this->returnValue(false));
- $this->reflector->reflect($this, __FUNCTION__);
- $middleware = new CORSMiddleware($request, $this->reflector, $this->session);
-
- $middleware->beforeController($this, __FUNCTION__, new Response());
- }
-
- public function testAfterExceptionWithSecurityExceptionNoStatus() {
- $request = new Request(
- ['server' => [
- 'PHP_AUTH_USER' => 'user',
- 'PHP_AUTH_PW' => 'pass'
- ]],
- $this->getMock('\OCP\Security\ISecureRandom'),
- $this->getMock('\OCP\IConfig')
- );
- $middleware = new CORSMiddleware($request, $this->reflector, $this->session);
- $response = $middleware->afterException($this, __FUNCTION__, new SecurityException('A security exception'));
-
- $expected = new JSONResponse(['message' => 'A security exception'], 500);
- $this->assertEquals($expected, $response);
- }
-
- public function testAfterExceptionWithSecurityExceptionWithStatus() {
- $request = new Request(
- ['server' => [
- 'PHP_AUTH_USER' => 'user',
- 'PHP_AUTH_PW' => 'pass'
- ]],
- $this->getMock('\OCP\Security\ISecureRandom'),
- $this->getMock('\OCP\IConfig')
- );
- $middleware = new CORSMiddleware($request, $this->reflector, $this->session);
- $response = $middleware->afterException($this, __FUNCTION__, new SecurityException('A security exception', 501));
-
- $expected = new JSONResponse(['message' => 'A security exception'], 501);
- $this->assertEquals($expected, $response);
- }
-
- /**
- * @expectedException \Exception
- * @expectedExceptionMessage A regular exception
- */
- public function testAfterExceptionWithRegularException() {
- $request = new Request(
- ['server' => [
- 'PHP_AUTH_USER' => 'user',
- 'PHP_AUTH_PW' => 'pass'
- ]],
- $this->getMock('\OCP\Security\ISecureRandom'),
- $this->getMock('\OCP\IConfig')
- );
- $middleware = new CORSMiddleware($request, $this->reflector, $this->session);
- $middleware->afterException($this, __FUNCTION__, new \Exception('A regular exception'));
- }
-
-}