From c522c8f789d6817b418a611d9d1eaf2e45169efd Mon Sep 17 00:00:00 2001 From: Alex Pott <alex.a.pott@googlemail.com> Date: Sat, 15 Apr 2017 10:16:43 +0100 Subject: [PATCH] Issue #2843773 by Wim Leers: EntityResource: Provide comprehensive test coverage for RestResourceConfig entity --- .../RestResourceConfigHalJsonAnonTest.php | 30 +++++ ...RestResourceConfigHalJsonBasicAuthTest.php | 35 ++++++ .../RestResourceConfigHalJsonCookieTest.php | 35 ++++++ .../RestResourceConfigJsonAnonTest.php | 24 ++++ .../RestResourceConfigJsonBasicAuthTest.php | 34 ++++++ .../RestResourceConfigJsonCookieTest.php | 29 +++++ .../RestResourceConfigResourceTestBase.php | 103 ++++++++++++++++++ 7 files changed, 290 insertions(+) create mode 100644 core/modules/hal/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigHalJsonAnonTest.php create mode 100644 core/modules/hal/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigHalJsonBasicAuthTest.php create mode 100644 core/modules/hal/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigHalJsonCookieTest.php create mode 100644 core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigJsonAnonTest.php create mode 100644 core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigJsonBasicAuthTest.php create mode 100644 core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigJsonCookieTest.php create mode 100644 core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigResourceTestBase.php diff --git a/core/modules/hal/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigHalJsonAnonTest.php b/core/modules/hal/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigHalJsonAnonTest.php new file mode 100644 index 000000000000..021812ba8a2a --- /dev/null +++ b/core/modules/hal/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigHalJsonAnonTest.php @@ -0,0 +1,30 @@ +<?php + +namespace Drupal\Tests\hal\Functional\EntityResource\RestResourceConfig; + +use Drupal\Tests\rest\Functional\AnonResourceTestTrait; +use Drupal\Tests\rest\Functional\EntityResource\RestResourceConfig\RestResourceConfigResourceTestBase; + +/** + * @group hal + */ +class RestResourceConfigHalJsonAnonTest extends RestResourceConfigResourceTestBase { + + use AnonResourceTestTrait; + + /** + * {@inheritdoc} + */ + public static $modules = ['hal']; + + /** + * {@inheritdoc} + */ + protected static $format = 'hal_json'; + + /** + * {@inheritdoc} + */ + protected static $mimeType = 'application/hal+json'; + +} diff --git a/core/modules/hal/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigHalJsonBasicAuthTest.php b/core/modules/hal/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigHalJsonBasicAuthTest.php new file mode 100644 index 000000000000..495cc042333a --- /dev/null +++ b/core/modules/hal/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigHalJsonBasicAuthTest.php @@ -0,0 +1,35 @@ +<?php + +namespace Drupal\Tests\hal\Functional\EntityResource\RestResourceConfig; + +use Drupal\Tests\rest\Functional\BasicAuthResourceTestTrait; +use Drupal\Tests\rest\Functional\EntityResource\RestResourceConfig\RestResourceConfigResourceTestBase; + +/** + * @group hal + */ +class RestResourceConfigHalJsonBasicAuthTest extends RestResourceConfigResourceTestBase { + + use BasicAuthResourceTestTrait; + + /** + * {@inheritdoc} + */ + public static $modules = ['hal', 'basic_auth']; + + /** + * {@inheritdoc} + */ + protected static $format = 'hal_json'; + + /** + * {@inheritdoc} + */ + protected static $mimeType = 'application/hal+json'; + + /** + * {@inheritdoc} + */ + protected static $auth = 'basic_auth'; + +} diff --git a/core/modules/hal/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigHalJsonCookieTest.php b/core/modules/hal/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigHalJsonCookieTest.php new file mode 100644 index 000000000000..7747b1eb0964 --- /dev/null +++ b/core/modules/hal/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigHalJsonCookieTest.php @@ -0,0 +1,35 @@ +<?php + +namespace Drupal\Tests\hal\Functional\EntityResource\RestResourceConfig; + +use Drupal\Tests\rest\Functional\CookieResourceTestTrait; +use Drupal\Tests\rest\Functional\EntityResource\RestResourceConfig\RestResourceConfigResourceTestBase; + +/** + * @group hal + */ +class RestResourceConfigHalJsonCookieTest extends RestResourceConfigResourceTestBase { + + use CookieResourceTestTrait; + + /** + * {@inheritdoc} + */ + public static $modules = ['hal']; + + /** + * {@inheritdoc} + */ + protected static $format = 'hal_json'; + + /** + * {@inheritdoc} + */ + protected static $mimeType = 'application/hal+json'; + + /** + * {@inheritdoc} + */ + protected static $auth = 'cookie'; + +} diff --git a/core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigJsonAnonTest.php b/core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigJsonAnonTest.php new file mode 100644 index 000000000000..df071409dd9b --- /dev/null +++ b/core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigJsonAnonTest.php @@ -0,0 +1,24 @@ +<?php + +namespace Drupal\Tests\rest\Functional\EntityResource\RestResourceConfig; + +use Drupal\Tests\rest\Functional\AnonResourceTestTrait; + +/** + * @group rest + */ +class RestResourceConfigJsonAnonTest extends RestResourceConfigResourceTestBase { + + use AnonResourceTestTrait; + + /** + * {@inheritdoc} + */ + protected static $format = 'json'; + + /** + * {@inheritdoc} + */ + protected static $mimeType = 'application/json'; + +} diff --git a/core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigJsonBasicAuthTest.php b/core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigJsonBasicAuthTest.php new file mode 100644 index 000000000000..136474befd94 --- /dev/null +++ b/core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigJsonBasicAuthTest.php @@ -0,0 +1,34 @@ +<?php + +namespace Drupal\Tests\rest\Functional\EntityResource\RestResourceConfig; + +use Drupal\Tests\rest\Functional\BasicAuthResourceTestTrait; + +/** + * @group rest + */ +class RestResourceConfigJsonBasicAuthTest extends RestResourceConfigResourceTestBase { + + use BasicAuthResourceTestTrait; + + /** + * {@inheritdoc} + */ + public static $modules = ['basic_auth']; + + /** + * {@inheritdoc} + */ + protected static $format = 'json'; + + /** + * {@inheritdoc} + */ + protected static $mimeType = 'application/json'; + + /** + * {@inheritdoc} + */ + protected static $auth = 'basic_auth'; + +} diff --git a/core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigJsonCookieTest.php b/core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigJsonCookieTest.php new file mode 100644 index 000000000000..5ed09d098bfd --- /dev/null +++ b/core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigJsonCookieTest.php @@ -0,0 +1,29 @@ +<?php + +namespace Drupal\Tests\rest\Functional\EntityResource\RestResourceConfig; + +use Drupal\Tests\rest\Functional\CookieResourceTestTrait; + +/** + * @group rest + */ +class RestResourceConfigJsonCookieTest extends RestResourceConfigResourceTestBase { + + use CookieResourceTestTrait; + + /** + * {@inheritdoc} + */ + protected static $format = 'json'; + + /** + * {@inheritdoc} + */ + protected static $mimeType = 'application/json'; + + /** + * {@inheritdoc} + */ + protected static $auth = 'cookie'; + +} diff --git a/core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigResourceTestBase.php b/core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigResourceTestBase.php new file mode 100644 index 000000000000..a19e2ef93f89 --- /dev/null +++ b/core/modules/rest/tests/src/Functional/EntityResource/RestResourceConfig/RestResourceConfigResourceTestBase.php @@ -0,0 +1,103 @@ +<?php + +namespace Drupal\Tests\rest\Functional\EntityResource\RestResourceConfig; + +use Drupal\Tests\rest\Functional\EntityResource\EntityResourceTestBase; +use Drupal\rest\Entity\RestResourceConfig; + +abstract class RestResourceConfigResourceTestBase extends EntityResourceTestBase { + + /** + * {@inheritdoc} + */ + public static $modules = ['dblog']; + + /** + * {@inheritdoc} + */ + protected static $entityTypeId = 'rest_resource_config'; + + /** + * @var \Drupal\rest\RestResourceConfigInterface + */ + protected $entity; + + /** + * {@inheritdoc} + */ + protected function setUpAuthorization($method) { + $this->grantPermissionsToTestedRole(['administer rest resources']); + } + + /** + * {@inheritdoc} + */ + protected function createEntity() { + $rest_resource_config = RestResourceConfig::create([ + 'id' => 'llama', + 'plugin_id' => 'dblog', + 'granularity' => 'method', + 'configuration' => [ + 'GET' => [ + 'supported_formats' => [ + 'json', + ], + 'supported_auth' => [ + 'cookie', + ], + ], + ], + ]); + $rest_resource_config->save(); + + return $rest_resource_config; + } + + /** + * {@inheritdoc} + */ + protected function getExpectedNormalizedEntity() { + return [ + 'uuid' => $this->entity->uuid(), + 'langcode' => 'en', + 'status' => TRUE, + 'dependencies' => [ + 'module' => [ + 'dblog', + 'serialization', + 'user', + ], + ], + 'id' => 'llama', + 'plugin_id' => 'dblog', + 'granularity' => 'method', + 'configuration' => [ + 'GET' => [ + 'supported_formats' => [ + 'json', + ], + 'supported_auth' => [ + 'cookie', + ], + ], + ], + ]; + } + + /** + * {@inheritdoc} + */ + protected function getNormalizedPostEntity() { + // @todo Update in https://www.drupal.org/node/2300677. + } + + /** + * {@inheritdoc} + */ + protected function getExpectedCacheContexts() { + return [ + 'user.permissions', + ]; + } + +} -- GitLab