Skip to content
Snippets Groups Projects
Commit c9324da5 authored by Kim Pepper's avatar Kim Pepper
Browse files

Issue #3339399: Fix failing 2.x branch

parent 835c01b2
No related branches found
No related tags found
2 merge requests!41Issue #3285438: Prevent index clear when field mapping hasn't changed.,!21Issue #3339399: Fix failing 2.x branch
Pipeline #9416 failed
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
"license": "GPL-2.0-or-later", "license": "GPL-2.0-or-later",
"minimum-stability": "stable", "minimum-stability": "stable",
"require": { "require": {
"php": "^8", "php": "^8.1",
"drupal/search_api": "^1.23", "drupal/search_api": "^1.23",
"makinacorpus/php-lucene": "^1.1", "makinacorpus/php-lucene": "^1.1",
"opensearch-project/opensearch-php": "^2.0" "opensearch-project/opensearch-php": "^2.0"
......
...@@ -9,8 +9,10 @@ use Drupal\search_api\IndexInterface; ...@@ -9,8 +9,10 @@ use Drupal\search_api\IndexInterface;
use Drupal\search_api\Item\Field; use Drupal\search_api\Item\Field;
use Drupal\search_api\Utility\DataTypeHelperInterface; use Drupal\search_api\Utility\DataTypeHelperInterface;
use Drupal\search_api\Utility\FieldsHelper; use Drupal\search_api\Utility\FieldsHelper;
use Drupal\search_api_opensearch\Event\FieldMappingEvent;
use Drupal\search_api_opensearch\SearchAPI\FieldMapper; use Drupal\search_api_opensearch\SearchAPI\FieldMapper;
use Drupal\Tests\UnitTestCase; use Drupal\Tests\UnitTestCase;
use Prophecy\Argument;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
/** /**
...@@ -32,7 +34,9 @@ class FieldMapperTest extends UnitTestCase { ...@@ -32,7 +34,9 @@ class FieldMapperTest extends UnitTestCase {
$dataTypeHelper = $this->prophesize(DataTypeHelperInterface::class); $dataTypeHelper = $this->prophesize(DataTypeHelperInterface::class);
$fieldsHelper = new FieldsHelper($entityTypeManager->reveal(), $entityFieldManager->reveal(), $entityTypeBundleInfo->reveal(), $dataTypeHelper->reveal()); $fieldsHelper = new FieldsHelper($entityTypeManager->reveal(), $entityFieldManager->reveal(), $entityTypeBundleInfo->reveal(), $dataTypeHelper->reveal());
$event = $this->prophesize(FieldMappingEvent::class);
$eventDispatcher = $this->prophesize(EventDispatcherInterface::class); $eventDispatcher = $this->prophesize(EventDispatcherInterface::class);
$eventDispatcher->dispatch(Argument::any())->willReturn($event->reveal());
$fieldMapper = new FieldMapper($fieldsHelper, $eventDispatcher->reveal()); $fieldMapper = new FieldMapper($fieldsHelper, $eventDispatcher->reveal());
$index = $this->prophesize(IndexInterface::class); $index = $this->prophesize(IndexInterface::class);
......
...@@ -7,11 +7,14 @@ use Drupal\Core\Entity\EntityTypeBundleInfoInterface; ...@@ -7,11 +7,14 @@ use Drupal\Core\Entity\EntityTypeBundleInfoInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\search_api\IndexInterface; use Drupal\search_api\IndexInterface;
use Drupal\search_api\Item\Field; use Drupal\search_api\Item\Field;
use Drupal\search_api\Item\FieldInterface;
use Drupal\search_api\Item\Item; use Drupal\search_api\Item\Item;
use Drupal\search_api\Utility\DataTypeHelperInterface; use Drupal\search_api\Utility\DataTypeHelperInterface;
use Drupal\search_api\Utility\FieldsHelper; use Drupal\search_api\Utility\FieldsHelper;
use Drupal\search_api_opensearch\Event\IndexParamsEvent;
use Drupal\search_api_opensearch\SearchAPI\IndexParamBuilder; use Drupal\search_api_opensearch\SearchAPI\IndexParamBuilder;
use Drupal\Tests\UnitTestCase; use Drupal\Tests\UnitTestCase;
use Prophecy\Argument;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
/** /**
...@@ -37,7 +40,10 @@ class IndexParamBuilderTest extends UnitTestCase { ...@@ -37,7 +40,10 @@ class IndexParamBuilderTest extends UnitTestCase {
$dataTypeHelper = $this->prophesize(DataTypeHelperInterface::class); $dataTypeHelper = $this->prophesize(DataTypeHelperInterface::class);
$fieldsHelper = new FieldsHelper($entityTypeManager->reveal(), $entityFieldManager->reveal(), $entityTypeBundleInfo->reveal(), $dataTypeHelper->reveal()); $fieldsHelper = new FieldsHelper($entityTypeManager->reveal(), $entityFieldManager->reveal(), $entityTypeBundleInfo->reveal(), $dataTypeHelper->reveal());
$event = $this->prophesize(IndexParamsEvent::class);
$eventDispatcher = $this->prophesize(EventDispatcherInterface::class); $eventDispatcher = $this->prophesize(EventDispatcherInterface::class);
$eventDispatcher->dispatch(Argument::any())->willReturn($event->reveal());
$paramBuilder = new IndexParamBuilder($fieldsHelper, $eventDispatcher->reveal()); $paramBuilder = new IndexParamBuilder($fieldsHelper, $eventDispatcher->reveal());
$index = $this->prophesize(IndexInterface::class); $index = $this->prophesize(IndexInterface::class);
......
...@@ -5,7 +5,7 @@ namespace Drupal\Tests\search_api_opensearch\Unit\SearchAPI\Query; ...@@ -5,7 +5,7 @@ namespace Drupal\Tests\search_api_opensearch\Unit\SearchAPI\Query;
use Drupal\search_api\Query\QueryInterface; use Drupal\search_api\Query\QueryInterface;
use Drupal\search_api_opensearch\SearchAPI\Query\FacetParamBuilder; use Drupal\search_api_opensearch\SearchAPI\Query\FacetParamBuilder;
use Drupal\Tests\UnitTestCase; use Drupal\Tests\UnitTestCase;
use Psr\Log\Test\TestLogger; use Psr\Log\LoggerInterface;
/** /**
* Tests the facet param builder. * Tests the facet param builder.
...@@ -19,8 +19,8 @@ class FacetParamBuilderTest extends UnitTestCase { ...@@ -19,8 +19,8 @@ class FacetParamBuilderTest extends UnitTestCase {
* @covers ::buildFacetParams * @covers ::buildFacetParams
*/ */
public function testBuildFacetParams() { public function testBuildFacetParams() {
$logger = new TestLogger(); $logger = $this->prophesize(LoggerInterface::class);
$builder = new FacetParamBuilder($logger); $builder = new FacetParamBuilder($logger->reveal());
$query = $this->prophesize(QueryInterface::class); $query = $this->prophesize(QueryInterface::class);
$query->getOption('search_api_facets', []) $query->getOption('search_api_facets', [])
......
...@@ -5,7 +5,7 @@ namespace Drupal\Tests\search_api_opensearch\Unit\SearchAPI\Query; ...@@ -5,7 +5,7 @@ namespace Drupal\Tests\search_api_opensearch\Unit\SearchAPI\Query;
use Drupal\search_api\Query\QueryInterface; use Drupal\search_api\Query\QueryInterface;
use Drupal\search_api_opensearch\SearchAPI\Query\FacetResultParser; use Drupal\search_api_opensearch\SearchAPI\Query\FacetResultParser;
use Drupal\Tests\UnitTestCase; use Drupal\Tests\UnitTestCase;
use Psr\Log\Test\TestLogger; use Psr\Log\LoggerInterface;
/** /**
* Tests the facets result parser. * Tests the facets result parser.
...@@ -19,8 +19,8 @@ class FacetResultParserTest extends UnitTestCase { ...@@ -19,8 +19,8 @@ class FacetResultParserTest extends UnitTestCase {
* @covers ::parseFacetResult * @covers ::parseFacetResult
*/ */
public function testParseFacetResult() { public function testParseFacetResult() {
$logger = new TestLogger(); $logger = $this->prophesize(LoggerInterface::class);
$parser = new FacetResultParser($logger); $parser = new FacetResultParser($logger->reveal());
$query = $this->prophesize(QueryInterface::class); $query = $this->prophesize(QueryInterface::class);
$query->getOption('search_api_facets', []) $query->getOption('search_api_facets', [])
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
namespace Drupal\Tests\search_api_opensearch\Unit\SearchAPI\Query; namespace Drupal\Tests\search_api_opensearch\Unit\SearchAPI\Query;
use Drupal\search_api_opensearch\SearchAPI\Query\FilterBuilder;
use Drupal\search_api\IndexInterface; use Drupal\search_api\IndexInterface;
use Drupal\search_api\Item\Field; use Drupal\search_api\Item\Field;
use Drupal\search_api\Query\Condition; use Drupal\search_api\Query\Condition;
use Drupal\search_api\Query\ConditionGroup; use Drupal\search_api\Query\ConditionGroup;
use Drupal\search_api_opensearch\SearchAPI\Query\FilterBuilder;
use Drupal\Tests\UnitTestCase; use Drupal\Tests\UnitTestCase;
use Psr\Log\Test\TestLogger; use Psr\Log\LoggerInterface;
/** /**
* Tests the filter builder. * Tests the filter builder.
...@@ -38,8 +38,8 @@ class FilterBuilderTest extends UnitTestCase { ...@@ -38,8 +38,8 @@ class FilterBuilderTest extends UnitTestCase {
'whiz' => $field2, 'whiz' => $field2,
]; ];
$logger = new TestLogger(); $logger = $this->prophesize(LoggerInterface::class);
$filterBuilder = new FilterBuilder($logger); $filterBuilder = new FilterBuilder($logger->reveal());
$filters = $filterBuilder->buildFilters($conditionGroup, $fields); $filters = $filterBuilder->buildFilters($conditionGroup, $fields);
$this->assertNotEmpty($filters); $this->assertNotEmpty($filters);
...@@ -62,8 +62,8 @@ class FilterBuilderTest extends UnitTestCase { ...@@ -62,8 +62,8 @@ class FilterBuilderTest extends UnitTestCase {
* @dataProvider filterTermProvider * @dataProvider filterTermProvider
*/ */
public function testBuildFilterTerm($value, $operator, $expected) { public function testBuildFilterTerm($value, $operator, $expected) {
$logger = new TestLogger(); $logger = $this->prophesize(LoggerInterface::class);
$filterBuilder = new FilterBuilder($logger); $filterBuilder = new FilterBuilder($logger->reveal());
$condition = new Condition('foo', $value, $operator); $condition = new Condition('foo', $value, $operator);
$filterTerm = $filterBuilder->buildFilterTerm($condition); $filterTerm = $filterBuilder->buildFilterTerm($condition);
$this->assertEquals($expected, $filterTerm); $this->assertEquals($expected, $filterTerm);
......
...@@ -7,6 +7,7 @@ use Drupal\search_api\Item\FieldInterface; ...@@ -7,6 +7,7 @@ use Drupal\search_api\Item\FieldInterface;
use Drupal\search_api\Query\ConditionGroupInterface; use Drupal\search_api\Query\ConditionGroupInterface;
use Drupal\search_api\Query\QueryInterface; use Drupal\search_api\Query\QueryInterface;
use Drupal\search_api\Utility\FieldsHelperInterface; use Drupal\search_api\Utility\FieldsHelperInterface;
use Drupal\search_api_opensearch\Event\QueryParamsEvent;
use Drupal\search_api_opensearch\SearchAPI\MoreLikeThisParamBuilder; use Drupal\search_api_opensearch\SearchAPI\MoreLikeThisParamBuilder;
use Drupal\search_api_opensearch\SearchAPI\Query\FacetParamBuilder; use Drupal\search_api_opensearch\SearchAPI\Query\FacetParamBuilder;
use Drupal\search_api_opensearch\SearchAPI\Query\FilterBuilder; use Drupal\search_api_opensearch\SearchAPI\Query\FilterBuilder;
...@@ -30,6 +31,7 @@ class QueryParamBuilderTest extends UnitTestCase { ...@@ -30,6 +31,7 @@ class QueryParamBuilderTest extends UnitTestCase {
* @covers :: * @covers ::
*/ */
public function testBuildQueryParams() { public function testBuildQueryParams() {
$indexId = "foo";
$fieldsHelper = $this->prophesize(FieldsHelperInterface::class); $fieldsHelper = $this->prophesize(FieldsHelperInterface::class);
...@@ -48,14 +50,14 @@ class QueryParamBuilderTest extends UnitTestCase { ...@@ -48,14 +50,14 @@ class QueryParamBuilderTest extends UnitTestCase {
$mltParamBuilder = $this->prophesize(MoreLikeThisParamBuilder::class); $mltParamBuilder = $this->prophesize(MoreLikeThisParamBuilder::class);
$facetParamBuilder = $this->prophesize(FacetParamBuilder::class); $facetParamBuilder = $this->prophesize(FacetParamBuilder::class);
$eventDispatcher = $this->prophesize(EventDispatcherInterface::class); $eventDispatcher = $this->prophesize(EventDispatcherInterface::class);
$event = new QueryParamsEvent($indexId, []);
$eventDispatcher->dispatch(Argument::any())->willReturn($event);
$logger = new NullLogger(); $logger = new NullLogger();
$queryParamBuilder = new QueryParamBuilder($fieldsHelper->reveal(), $sortBuilder->reveal(), $filterBuilder->reveal(), $searchParamBuilder->reveal(), $mltParamBuilder->reveal(), $facetParamBuilder->reveal(), $eventDispatcher->reveal(), $logger); $queryParamBuilder = new QueryParamBuilder($fieldsHelper->reveal(), $sortBuilder->reveal(), $filterBuilder->reveal(), $searchParamBuilder->reveal(), $mltParamBuilder->reveal(), $facetParamBuilder->reveal(), $eventDispatcher->reveal(), $logger);
$indexId = "foo";
$index = $this->prophesize(IndexInterface::class); $index = $this->prophesize(IndexInterface::class);
$index->id() $index->id()->willReturn($indexId);
->willReturn($indexId);
$field1 = $this->prophesize(FieldInterface::class); $field1 = $this->prophesize(FieldInterface::class);
...@@ -89,7 +91,6 @@ class QueryParamBuilderTest extends UnitTestCase { ...@@ -89,7 +91,6 @@ class QueryParamBuilderTest extends UnitTestCase {
$settings = ['fuzziness' => 'auto']; $settings = ['fuzziness' => 'auto'];
$queryParams = $queryParamBuilder->buildQueryParams($indexId, $query->reveal(), $settings); $queryParams = $queryParamBuilder->buildQueryParams($indexId, $query->reveal(), $settings);
$expected = ['index' => 'foo', 'body' => ['from' => 0, 'size' => 10]];
$this->assertEquals($expected, $queryParams); $this->assertEquals($expected, $queryParams);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment