You are here

trait SolrBackendTrait in Search API Solr 8.2

Same name and namespace in other branches
  1. 8.3 tests/src/Kernel/Processor/SolrBackendTrait.php \Drupal\Tests\search_api_solr\Kernel\Processor\SolrBackendTrait
  2. 8 tests/src/Kernel/Processor/SolrBackendTrait.php \Drupal\Tests\search_api_solr\Kernel\Processor\SolrBackendTrait
  3. 4.x tests/src/Kernel/Processor/SolrBackendTrait.php \Drupal\Tests\search_api_solr\Kernel\Processor\SolrBackendTrait

Helper to exchange the DB backend for a Solr backend in processor tests.

Hierarchy

File

tests/src/Kernel/Processor/SolrBackendTrait.php, line 12

Namespace

Drupal\Tests\search_api_solr\Kernel\Processor
View source
trait SolrBackendTrait {
  use SolrCommitTrait;

  /**
   * Swap the DB backend for a Solr backend.
   *
   * This function has to be called from the test setUp() function.
   *
   * @param string $module
   *   The module that provides the server config.
   * @param $config
   *   The server config
   */
  protected function enableSolrServer($module, $config) {
    $this->server = Server::create(Yaml::parse(file_get_contents(drupal_get_path('module', $module) . $config)));
    $this->server
      ->save();
    $this->index
      ->setServer($this->server);
    $this->index
      ->save();
    $index_storage = $this->container
      ->get('entity_type.manager')
      ->getStorage('search_api_index');
    $index_storage
      ->resetCache([
      $this->index
        ->id(),
    ]);
    $this->index = $index_storage
      ->load($this->index
      ->id());
  }

  /**
   * {@inheritdoc}
   */
  protected function indexItems() {
    $index_status = parent::indexItems();
    $this
      ->ensureCommit($this->server);
    return $index_status;
  }

  /**
   * {@inheritdoc}
   */
  protected function tearDown() {
    $this->index
      ->clear();
    $this
      ->ensureCommit($this->server);
    parent::tearDown();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
SolrBackendTrait::enableSolrServer protected function Swap the DB backend for a Solr backend.
SolrBackendTrait::indexItems protected function
SolrBackendTrait::tearDown protected function
SolrCommitTrait::ensureCommit protected function Explicitly sent a commit command to a Solr server.