[ 'allow' => [ 'https://www.google-analytics.com', ], 'self' => true, 'unsafe-inline' => false, 'unsafe-eval' => false, ], ]); $next = function ($request, $response) { $expected = [ 'script-src \'self\' https://www.google-analytics.com; ', ]; $headers = $response->getHeaders(); $this->assertNotEmpty($headers['Content-Security-Policy']); $this->assertEquals($expected, $headers['Content-Security-Policy']); }; $response = new Response(); $middleware($request, $response, $next); } /** * testPassingACSPBuilderInstance * * @return void */ public function testPassingACSPBuilderInstance() { $request = new ServerRequest(); $config = [ 'script-src' => [ 'allow' => [ 'https://www.google-analytics.com', ], 'self' => true, 'unsafe-inline' => false, 'unsafe-eval' => false, ], ]; $cspBuilder = new CSPBuilder($config); $middleware = new CspMiddleware($cspBuilder); $next = function ($request, $response) { $headers = $response->getHeaders(); $expected = [ 'script-src \'self\' https://www.google-analytics.com; ', ]; $this->assertNotEmpty($headers['Content-Security-Policy']); $this->assertEquals($expected, $headers['Content-Security-Policy']); }; $response = new Response(); $middleware($request, $response, $next); } }