* @copyright Bernhard Posselt 2014 */ namespace OC\AppFramework\Middleware\Security; use OC\AppFramework\Http\Request; use OCP\AppFramework\Http\Response; class CORSMiddlewareTest extends \PHPUnit_Framework_TestCase { /** * @CORS */ public function testSetCORSAPIHeader() { $request = new Request( array('server' => array('HTTP_ORIGIN' => 'test')) ); $middleware = new CORSMiddleware($request); $response = $middleware->afterController($this, __FUNCTION__, new Response()); $headers = $response->getHeaders(); $this->assertEquals('test', $headers['Access-Control-Allow-Origin']); } public function testNoAnnotationNoCORSHEADER() { $request = new Request( array('server' => array('HTTP_ORIGIN' => 'test')) ); $middleware = new CORSMiddleware($request); $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(); $middleware = new CORSMiddleware($request); $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\SecurityException */ public function testCorsIgnoredIfWithCredentialsHeaderPresent() { $request = new Request( array('server' => array('HTTP_ORIGIN' => 'test')) ); $middleware = new CORSMiddleware($request); $response = new Response(); $response->addHeader('AcCess-control-Allow-Credentials ', 'TRUE'); $response = $middleware->afterController($this, __FUNCTION__, $response); } }