Mercurial > hg > isophonics-drupal-site
annotate core/modules/rest/tests/src/Functional/BasicAuthResourceTestTrait.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 7a779792577d |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 namespace Drupal\Tests\rest\Functional; |
Chris@0 | 4 |
Chris@0 | 5 use Drupal\Core\Url; |
Chris@0 | 6 use Psr\Http\Message\ResponseInterface; |
Chris@0 | 7 |
Chris@0 | 8 /** |
Chris@0 | 9 * Trait for ResourceTestBase subclasses testing $auth=basic_auth. |
Chris@0 | 10 * |
Chris@0 | 11 * Characteristics: |
Chris@0 | 12 * - Every request must send an Authorization header. |
Chris@0 | 13 * - When accessing a URI that requires authentication without being |
Chris@0 | 14 * authenticated, a 401 response must be sent. |
Chris@0 | 15 * - Because every request must send an authorization, there is no danger of |
Chris@0 | 16 * CSRF attacks. |
Chris@0 | 17 */ |
Chris@0 | 18 trait BasicAuthResourceTestTrait { |
Chris@0 | 19 |
Chris@0 | 20 /** |
Chris@0 | 21 * {@inheritdoc} |
Chris@0 | 22 */ |
Chris@0 | 23 protected function getAuthenticationRequestOptions($method) { |
Chris@0 | 24 return [ |
Chris@0 | 25 'headers' => [ |
Chris@0 | 26 'Authorization' => 'Basic ' . base64_encode($this->account->name->value . ':' . $this->account->passRaw), |
Chris@0 | 27 ], |
Chris@0 | 28 ]; |
Chris@0 | 29 } |
Chris@0 | 30 |
Chris@0 | 31 /** |
Chris@0 | 32 * {@inheritdoc} |
Chris@0 | 33 */ |
Chris@0 | 34 protected function assertResponseWhenMissingAuthentication(ResponseInterface $response) { |
Chris@0 | 35 $this->assertResourceErrorResponse(401, 'No authentication credentials provided.', $response); |
Chris@0 | 36 } |
Chris@0 | 37 |
Chris@0 | 38 /** |
Chris@0 | 39 * {@inheritdoc} |
Chris@0 | 40 */ |
Chris@0 | 41 protected function assertAuthenticationEdgeCases($method, Url $url, array $request_options) {} |
Chris@0 | 42 |
Chris@0 | 43 } |