function MigrationSourceCacheTest::testCacheCountsUsed

Same name in other branches
  1. 9 core/modules/migrate/tests/src/Kernel/Plugin/source/MigrationSourceCacheTest.php \Drupal\Tests\migrate\Kernel\Plugin\source\MigrationSourceCacheTest::testCacheCountsUsed()
  2. 11.x core/modules/migrate/tests/src/Kernel/Plugin/source/MigrationSourceCacheTest.php \Drupal\Tests\migrate\Kernel\Plugin\source\MigrationSourceCacheTest::testCacheCountsUsed()

Test that values are pulled from the cache when appropriate.

File

core/modules/migrate/tests/src/Kernel/Plugin/source/MigrationSourceCacheTest.php, line 94

Class

MigrationSourceCacheTest
Test source counts are correctly cached.

Namespace

Drupal\Tests\migrate\Kernel\Plugin\source

Code

public function testCacheCountsUsed() : void {
    $migration_definition = [
        'source' => [
            'plugin' => 'cacheable_embedded_data',
            'cache_counts' => TRUE,
            'ids' => [
                'id' => [
                    'type' => 'integer',
                ],
            ],
            'data_rows' => [
                [
                    'id' => 1,
                ],
                [
                    'id' => 2,
                ],
            ],
        ],
    ];
    $migration = $this->migrationPluginManager
        ->createStubMigration($migration_definition);
    $migration_source = $migration->getSourcePlugin();
    $this->assertCount(2, $migration_source);
    // Pollute the cache.
    $cache_key_property = new \ReflectionProperty($migration_source, 'cacheKey');
    $cache_key = $cache_key_property->getValue($migration_source);
    \Drupal::cache('migrate')->set($cache_key, 7);
    $this->assertCount(7, $migration_source);
    $this->assertSame(2, $migration_source->count(TRUE));
}

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