DatabaseStorageTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace Drupal\KernelTests\Core\Config\Storage;
  3. use Drupal\Core\Config\DatabaseStorage;
  4. use Drupal\Core\Database\Database;
  5. /**
  6. * Tests DatabaseStorage operations.
  7. *
  8. * @group config
  9. */
  10. class DatabaseStorageTest extends ConfigStorageTestBase {
  11. /**
  12. * {@inheritdoc}
  13. */
  14. protected function setUp() {
  15. parent::setUp();
  16. $this->storage = new DatabaseStorage($this->container->get('database'), 'config');
  17. $this->invalidStorage = new DatabaseStorage($this->container->get('database'), 'invalid');
  18. // ::listAll() verifications require other configuration data to exist.
  19. $this->storage->write('system.performance', []);
  20. }
  21. protected function read($name) {
  22. $data = Database::getConnection()->query('SELECT data FROM {config} WHERE name = :name', [':name' => $name])->fetchField();
  23. return unserialize($data);
  24. }
  25. protected function insert($name, $data) {
  26. Database::getConnection()->insert('config')->fields(['name' => $name, 'data' => $data])->execute();
  27. }
  28. protected function update($name, $data) {
  29. Database::getConnection()->update('config')->fields(['data' => $data])->condition('name', $name)->execute();
  30. }
  31. protected function delete($name) {
  32. Database::getConnection()->delete('config')->condition('name', $name)->execute();
  33. }
  34. }