View source  
  <?php
namespace Drupal\Tests\rest\Functional\Rest;
use Drupal\Tests\rest\Functional\EntityResource\EntityResourceTestBase;
use Drupal\rest\Entity\RestResourceConfig;
abstract class RestResourceConfigResourceTestBase extends EntityResourceTestBase {
  
  protected static $modules = [
    'dblog',
  ];
  
  protected static $entityTypeId = 'rest_resource_config';
  
  protected $entity;
  
  protected function setUpAuthorization($method) {
    $this
      ->grantPermissionsToTestedRole([
      'administer rest resources',
    ]);
  }
  
  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;
  }
  
  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',
          ],
        ],
      ],
    ];
  }
  
  protected function getNormalizedPostEntity() {
    
  }
  
  protected function getExpectedCacheContexts() {
    return [
      'user.permissions',
    ];
  }
}