function ConfigStorageTestBase::testInvalidStorage

Same name in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Config/Storage/ConfigStorageTestBase.php \Drupal\KernelTests\Core\Config\Storage\ConfigStorageTestBase::testInvalidStorage()
  2. 8.9.x core/tests/Drupal/KernelTests/Core/Config/Storage/ConfigStorageTestBase.php \Drupal\KernelTests\Core\Config\Storage\ConfigStorageTestBase::testInvalidStorage()
  3. 11.x core/tests/Drupal/KernelTests/Core/Config/Storage/ConfigStorageTestBase.php \Drupal\KernelTests\Core\Config\Storage\ConfigStorageTestBase::testInvalidStorage()

Tests an invalid storage.

4 methods override ConfigStorageTestBase::testInvalidStorage()
CachedStorageTest::testInvalidStorage in core/tests/Drupal/KernelTests/Core/Config/Storage/CachedStorageTest.php
ManagedStorageTest::testInvalidStorage in core/tests/Drupal/KernelTests/Core/Config/Storage/ManagedStorageTest.php
MemoryStorageTest::testInvalidStorage in core/tests/Drupal/KernelTests/Core/Config/Storage/MemoryStorageTest.php
StorageReplaceDataWrapperTest::testInvalidStorage in core/tests/Drupal/KernelTests/Core/Config/Storage/StorageReplaceDataWrapperTest.php

File

core/tests/Drupal/KernelTests/Core/Config/Storage/ConfigStorageTestBase.php, line 128

Class

ConfigStorageTestBase
Base class for testing storage operations.

Namespace

Drupal\KernelTests\Core\Config\Storage

Code

public function testInvalidStorage() : void {
    $name = 'config_test.storage';
    // Write something to the valid storage to prove that the storages do not
    // pollute one another.
    $data = [
        'foo' => 'bar',
    ];
    $result = $this->storage
        ->write($name, $data);
    $this->assertTrue($result);
    $raw_data = $this->read($name);
    $this->assertSame($data, $raw_data);
    // Reading from a non-existing storage bin returns FALSE.
    $result = $this->invalidStorage
        ->read($name);
    $this->assertFalse($result);
    // Deleting from a non-existing storage bin throws an exception.
    try {
        $this->invalidStorage
            ->delete($name);
        $this->fail('Exception not thrown upon deleting from a non-existing storage bin.');
    } catch (\Exception $e) {
        // An exception occurred as expected; just continue.
    }
    // Listing on a non-existing storage bin returns an empty array.
    $result = $this->invalidStorage
        ->listAll();
    $this->assertSame([], $result);
    // Getting all collections on a non-existing storage bin return an empty
    // array.
    $this->assertSame([], $this->invalidStorage
        ->getAllCollectionNames());
    // Writing to a non-existing storage bin creates the bin.
    $this->invalidStorage
        ->write($name, [
        'foo' => 'bar',
    ]);
    $result = $this->invalidStorage
        ->read($name);
    $this->assertSame([
        'foo' => 'bar',
    ], $result);
}

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