1<?php 2 3namespace Drupal\Tests\rest\Functional\Rest; 4 5use Drupal\Tests\rest\Functional\EntityResource\EntityResourceTestBase; 6use Drupal\rest\Entity\RestResourceConfig; 7 8abstract class RestResourceConfigResourceTestBase extends EntityResourceTestBase { 9 10 /** 11 * {@inheritdoc} 12 */ 13 public static $modules = ['dblog']; 14 15 /** 16 * {@inheritdoc} 17 */ 18 protected static $entityTypeId = 'rest_resource_config'; 19 20 /** 21 * @var \Drupal\rest\RestResourceConfigInterface 22 */ 23 protected $entity; 24 25 /** 26 * {@inheritdoc} 27 */ 28 protected function setUpAuthorization($method) { 29 $this->grantPermissionsToTestedRole(['administer rest resources']); 30 } 31 32 /** 33 * {@inheritdoc} 34 */ 35 protected function createEntity() { 36 $rest_resource_config = RestResourceConfig::create([ 37 'id' => 'llama', 38 'plugin_id' => 'dblog', 39 'granularity' => 'method', 40 'configuration' => [ 41 'GET' => [ 42 'supported_formats' => [ 43 'json', 44 ], 45 'supported_auth' => [ 46 'cookie', 47 ], 48 ], 49 ], 50 ]); 51 $rest_resource_config->save(); 52 53 return $rest_resource_config; 54 } 55 56 /** 57 * {@inheritdoc} 58 */ 59 protected function getExpectedNormalizedEntity() { 60 return [ 61 'uuid' => $this->entity->uuid(), 62 'langcode' => 'en', 63 'status' => TRUE, 64 'dependencies' => [ 65 'module' => [ 66 'dblog', 67 'serialization', 68 'user', 69 ], 70 ], 71 'id' => 'llama', 72 'plugin_id' => 'dblog', 73 'granularity' => 'method', 74 'configuration' => [ 75 'GET' => [ 76 'supported_formats' => [ 77 'json', 78 ], 79 'supported_auth' => [ 80 'cookie', 81 ], 82 ], 83 ], 84 ]; 85 } 86 87 /** 88 * {@inheritdoc} 89 */ 90 protected function getNormalizedPostEntity() { 91 // @todo Update in https://www.drupal.org/node/2300677. 92 } 93 94 /** 95 * {@inheritdoc} 96 */ 97 protected function getExpectedCacheContexts() { 98 return [ 99 'user.permissions', 100 ]; 101 } 102 103} 104