memcache-8.x-2.2/tests/src/Kernel/MemcacheBackendTest.php

tests/src/Kernel/MemcacheBackendTest.php
<?php

namespace Drupal\Tests\memcache\Kernel;

use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Core\DependencyInjection\ServiceModifierInterface;
use Drupal\KernelTests\Core\Cache\GenericCacheBackendUnitTestBase;
use Drupal\memcache\MemcacheBackendFactory;

/**
 * Tests the MemcacheBackend.
 *
 * @group memcache
 */
class MemcacheBackendTest extends GenericCacheBackendUnitTestBase implements ServiceModifierInterface {

  /**
   * Modules to enable.
   *
   * @var array
   */
  protected static $modules = ['system', 'memcache'];

  /**
   * {@inheritdoc}
   */
  public function alter(ContainerBuilder $container) {
    $service_definition = $container->getDefinition('memcache.timestamp.invalidator.bin');
    // Set tolerance to 0 for timestamp invalidator.
    $service_definition->setArgument(2, 0);
  }

  /**
   * {@inheritdoc}
   */
  public function setUp(): void {
    parent::setUp();
    $host = getenv('MEMCACHED_HOST') ?: '127.0.0.1:11211';
    $this->setSetting('memcache', [
      'servers' => [$host => 'default'],
      'bin' => ['default' => 'default'],
      'debug' => TRUE,
    ]);
  }

  /**
   * Creates a new instance of DatabaseBackend.
   *
   * @return \Drupal\memcache\MemcacheBackend
   *   A new MemcacheBackend object.
   */
  protected function createCacheBackend($bin) {
    $factory = new MemcacheBackendFactory(
      $this->container->get('memcache.factory'),
      $this->container->get('cache_tags.invalidator.checksum'),
      $this->container->get('memcache.timestamp.invalidator.bin'),
    );
    return $factory->get($bin);
  }

  /**
   * Gets a backend to test; this will get a shared instance set in the object.
   *
   * @return \Drupal\Core\Cache\CacheBackendInterface
   *   Cache backend to test.
   */
  protected function getCacheBackend($bin = NULL) {
    $backend = parent::getCacheBackend($bin);
    usleep(10000);
    return $backend;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc