class DatabaseStorageTest

Same name in this branch
  1. 9 core/tests/Drupal/KernelTests/Core/KeyValueStore/DatabaseStorageTest.php \Drupal\KernelTests\Core\KeyValueStore\DatabaseStorageTest
Same name and namespace in other branches
  1. 11.x core/tests/Drupal/KernelTests/Core/Config/Storage/DatabaseStorageTest.php \Drupal\KernelTests\Core\Config\Storage\DatabaseStorageTest
  2. 11.x core/tests/Drupal/KernelTests/Core/KeyValueStore/DatabaseStorageTest.php \Drupal\KernelTests\Core\KeyValueStore\DatabaseStorageTest

Tests DatabaseStorage operations.

@group config

Hierarchy

Expanded class hierarchy of DatabaseStorageTest

File

core/tests/Drupal/KernelTests/Core/Config/Storage/DatabaseStorageTest.php, line 13

Namespace

Drupal\KernelTests\Core\Config\Storage
View source
class DatabaseStorageTest extends ConfigStorageTestBase {
  
  /**
   * {@inheritdoc}
   */
  protected function setUp() : void {
    parent::setUp();
    $this->storage = new DatabaseStorage($this->container
      ->get('database'), 'config');
    $this->invalidStorage = new DatabaseStorage($this->container
      ->get('database'), 'invalid');
    // ::listAll() verifications require other configuration data to exist.
    $this->storage
      ->write('system.performance', []);
  }
  protected function read($name) {
    $data = Database::getConnection()->select('config', 'c')
      ->fields('c', [
      'data',
    ])
      ->condition('name', $name)
      ->execute()
      ->fetchField();
    return unserialize($data);
  }
  protected function insert($name, $data) {
    Database::getConnection()->insert('config')
      ->fields([
      'name' => $name,
      'data' => $data,
    ])
      ->execute();
  }
  protected function update($name, $data) {
    Database::getConnection()->update('config')
      ->fields([
      'data' => $data,
    ])
      ->condition('name', $name)
      ->execute();
  }
  protected function delete($name) {
    Database::getConnection()->delete('config')
      ->condition('name', $name)
      ->execute();
  }

}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.