diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 98f8c522..fb7f47a6 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -9,7 +9,7 @@ on:
jobs:
tests:
- name: ${{ matrix.php }} ${{ matrix.coverage }} ${{ matrix.engine }} ${{ matrix.solr_version }} ${{ matrix.regression }} ${{ matrix.core_setup }}
+ name: ${{ matrix.php }} ${{ matrix.coverage }} ${{ matrix.engine }} ${{ matrix.solr_version }} ${{ matrix.regression }} ${{ matrix.asynchronous }} ${{ matrix.core_setup }}
runs-on: ubuntu-latest
env:
extensions: pdo_sqlite
@@ -53,6 +53,37 @@ jobs:
solr_cloud: 'yes'
core_setup: 'cloud'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-integration-solr-asynchronous.xml'
+ solr_version: '7.7.3'
+ solr_cores: 'collection1'
+ core_setup: 'single'
+ asynchronous: 'asynchronous'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-integration-solr-asynchronous.xml'
+ solr_version: '7.7.3'
+ core_setup: 'dedicated'
+ asynchronous: 'asynchronous'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-integration-solr-asynchronous.xml'
+ solr_version: '7.7.3'
+ core_setup: 'shared'
+ asynchronous: 'asynchronous'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-integration-solr-asynchronous.xml'
+ solr_version: '7.7.3'
+ solr_cloud: 'yes'
+ core_setup: 'cloud'
+ asynchronous: 'asynchronous'
+
- php: '8.1'
coverage: 'integration'
engine: 'solr'
@@ -84,6 +115,41 @@ jobs:
core_setup: 'cloud'
regression: 'regression'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-core-integration-legacy-solr-asynchronous.xml'
+ solr_version: '7.7.3'
+ solr_cores: 'collection1'
+ core_setup: 'single'
+ regression: 'regression'
+ asynchronous: 'asynchronous'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-core-integration-legacy-solr-asynchronous.xml'
+ solr_version: '7.7.3'
+ core_setup: 'dedicated'
+ regression: 'regression'
+ asynchronous: 'asynchronous'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-core-integration-legacy-solr-asynchronous.xml'
+ solr_version: '7.7.3'
+ core_setup: 'shared'
+ regression: 'regression'
+ asynchronous: 'asynchronous'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-core-integration-legacy-solr-asynchronous.xml'
+ solr_version: '7.7.3'
+ solr_cloud: 'yes'
+ core_setup: 'cloud'
+ regression: 'regression'
+ asynchronous: 'asynchronous'
+
- php: '8.1'
coverage: 'integration'
engine: 'solr'
@@ -111,6 +177,37 @@ jobs:
solr_cloud: 'yes'
core_setup: 'cloud'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-integration-solr-asynchronous.xml'
+ solr_version: '8.11.2'
+ solr_cores: 'collection1'
+ core_setup: 'single'
+ asynchronous: 'asynchronous'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-integration-solr-asynchronous.xml'
+ solr_version: '8.11.2'
+ core_setup: 'dedicated'
+ asynchronous: 'asynchronous'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-integration-solr-asynchronous.xml'
+ solr_version: '8.11.2'
+ core_setup: 'shared'
+ asynchronous: 'asynchronous'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-integration-solr-asynchronous.xml'
+ solr_version: '8.11.2'
+ solr_cloud: 'yes'
+ core_setup: 'cloud'
+ asynchronous: 'asynchronous'
+
- php: '8.1'
coverage: 'integration'
engine: 'solr'
@@ -142,6 +239,41 @@ jobs:
core_setup: 'cloud'
regression: 'regression'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-core-integration-legacy-solr-asynchronous.xml'
+ solr_version: '8.11.2'
+ solr_cores: 'collection1'
+ core_setup: 'single'
+ regression: 'regression'
+ asynchronous: 'asynchronous'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-core-integration-legacy-solr-asynchronous.xml'
+ solr_version: '8.11.2'
+ core_setup: 'dedicated'
+ regression: 'regression'
+ asynchronous: 'asynchronous'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-core-integration-legacy-solr-asynchronous.xml'
+ solr_version: '8.11.2'
+ core_setup: 'shared'
+ regression: 'regression'
+ asynchronous: 'asynchronous'
+ - php: '8.1'
+ coverage: 'integration'
+ engine: 'solr'
+ config: 'phpunit-core-integration-legacy-solr-asynchronous.xml'
+ solr_version: '8.11.2'
+ solr_cloud: 'yes'
+ core_setup: 'cloud'
+ regression: 'regression'
+ asynchronous: 'asynchronous'
+
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
diff --git a/phpunit-core-integration-legacy-solr-asynchronous.xml b/phpunit-core-integration-legacy-solr-asynchronous.xml
new file mode 100644
index 00000000..387e6437
--- /dev/null
+++ b/phpunit-core-integration-legacy-solr-asynchronous.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ tests/lib/Kernel
+ vendor/ibexa/core/tests/integration/Core
+ vendor/ibexa/core/tests/integration/Core/Repository/Filtering
+
+ vendor/ibexa/core/tests/integration/Core/Repository/SearchServiceTest.php
+ vendor/ibexa/core/tests/integration/Core/Repository/SearchServiceLocationTest.php
+
+
+
+
+ tests/integration
+
+
+
diff --git a/phpunit-integration-solr-asynchronous.xml b/phpunit-integration-solr-asynchronous.xml
new file mode 100644
index 00000000..2502fb9d
--- /dev/null
+++ b/phpunit-integration-solr-asynchronous.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+ ./tests/lib/Integration/
+
+
+
+
+ ./bundle
+ ./lib
+
+
+
diff --git a/tests/lib/Integration/Resources/config/event_dispatcher_override_asynchronous.yaml b/tests/lib/Integration/Resources/config/event_dispatcher_override_asynchronous.yaml
new file mode 100644
index 00000000..d942b9f2
--- /dev/null
+++ b/tests/lib/Integration/Resources/config/event_dispatcher_override_asynchronous.yaml
@@ -0,0 +1,311 @@
+services:
+ netgen_search_extra.parent_child_indexing.parent_child_field_mapper:
+ class: Netgen\IbexaSearchExtra\Core\Search\Solr\FieldMapper\ParentChildFieldMapper
+ arguments:
+ - '@netgen_search_extra.parent_child_indexing.fulltext_field_resolver'
+ - '@Ibexa\Contracts\Core\Persistence\Content\Type\Handler'
+ - '@Ibexa\Contracts\Core\Persistence\Content\Handler'
+ - '@Ibexa\Contracts\Core\Persistence\Filter\Content\Handler'
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '%netgen.ibexa_search_extra.parent_child_indexer%'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\CopyContentHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\CopyContentHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\DeleteContentHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\DeleteContentHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\DeleteTranslationHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\DeleteTranslationHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Handler'
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\HideContentHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\HideContentHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\PublishVersionHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\PublishVersionHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\RevealContentHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\RevealContentHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\UpdateContentMetadataHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\UpdateContentMetadataHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Handler'
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\AssignSectionToSubtreeHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\AssignSectionToSubtreeHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\CopySubtreeHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\CopySubtreeHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\CreateLocationHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\CreateLocationHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\DeleteLocationHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\DeleteLocationHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\HideLocationHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\HideLocationHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\MoveSubtreeHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\MoveSubtreeHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\SwapLocationHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\SwapLocationHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\UnhideLocationHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\UnhideLocationHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\UpdateLocationHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\UpdateLocationHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\ObjectState\SetContentStateHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\ObjectState\SetContentStateHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Section\AssignSectionHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Section\AssignSectionHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Trash\RecoverHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Trash\RecoverHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Trash\TrashHandler:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Trash\TrashHandler
+ arguments:
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+ - '@netgen_search_extra.parent_child_indexing.ancestor_indexer'
+ tags:
+ - { name: messenger.message_handler }
+
+ netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.handler.locator:
+ class: Symfony\Component\Messenger\Handler\HandlersLocator
+ arguments:
+ -
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\CopyContent':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\CopyContentHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\CopyContentHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\DeleteContent':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\DeleteContentHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\DeleteContentHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\DeleteTranslation':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\DeleteTranslationHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\DeleteTranslationHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\HideContent':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\HideContentHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\HideContentHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\PublishVersion':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\PublishVersionHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\PublishVersionHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\RevealContent':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\RevealContentHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\RevealContentHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\UpdateContentMetadata':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\UpdateContentMetadataHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Content\UpdateContentMetadataHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\AssignSectionToSubtree':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\AssignSectionToSubtreeHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\AssignSectionToSubtreeHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\CopySubtree':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\CopySubtreeHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\CopySubtreeHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\CreateLocation':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\CreateLocationHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\CreateLocationHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\DeleteLocation':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\DeleteLocationHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\DeleteLocationHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\HideLocation':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\HideLocationHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\HideLocationHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\MoveSubtree':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\MoveSubtreeHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\MoveSubtreeHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\SwapLocation':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\SwapLocationHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\SwapLocationHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\UnhideLocation':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\UnhideLocationHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\UnhideLocationHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\UpdateLocation':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\UpdateLocationHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Location\UpdateLocationHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\ObjectState\SetContentState':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ObjectState\SetContentStateHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\ObjectState\SetContentStateHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Section\AssignSection':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Section\AssignSectionHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Section\AssignSectionHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Trash\Recover':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Trash\RecoverHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Trash\RecoverHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Trash\Trash':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Trash\TrashHandler'
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ParentChildIndexing\Trash\TrashHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\AssignUserToUserGroup':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\AssignUserToUserGroupHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\BeforeUnAssignUserFromUserGroup':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\BeforeUnAssignUserFromUserGroupHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\CreateUserGroup':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\CreateUserGroupHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\CreateUser':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\CreateUserHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\DeleteUserGroup':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\DeleteUserGroupHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\DeleteUser':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\DeleteUserHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\MoveUserGroup':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\MoveUserGroupHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\UnAssignUserFromUserGroup':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\UnAssignUserFromUserGroupHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\UpdateUserGroup':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\UpdateUserGroupHandler'
+ 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\UpdateUser':
+ - '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\UpdateUserHandler'
+
+ netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.middleware:
+ class: Symfony\Component\Messenger\Middleware\HandleMessageMiddleware
+ arguments:
+ - '@netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.handler.locator'
+
+ netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.bus:
+ class: Symfony\Component\Messenger\MessageBus
+ arguments:
+ - ['@netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.middleware']
+
+ netgen_test.ibexa_search_extra.asynchronous_indexing.event_subscriber.content:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\EventSubscriber\ContentEventSubscriber
+ arguments:
+ - '@netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.bus'
+ - '@Ibexa\Contracts\Core\Persistence\Content\Location\Handler'
+
+ netgen_test.ibexa_search_extra.asynchronous_indexing.event_subscriber.location:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\EventSubscriber\LocationEventSubscriber
+ arguments:
+ - '@netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.bus'
+
+ netgen_test.ibexa_search_extra.asynchronous_indexing.event_subscriber.object_state:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\EventSubscriber\ObjectStateEventSubscriber
+ arguments:
+ - '@netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.bus'
+
+ netgen_test.ibexa_search_extra.asynchronous_indexing.event_subscriber.section:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\EventSubscriber\SectionEventSubscriber
+ arguments:
+ - '@netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.bus'
+
+ netgen_test.ibexa_search_extra.asynchronous_indexing.event_subscriber.trash:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\EventSubscriber\TrashEventSubscriber
+ arguments:
+ - '@netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.bus'
+
+ netgen_test.ibexa_search_extra.asynchronous_indexing.event_subscriber.user:
+ class: Netgen\IbexaSearchExtra\Core\Search\Common\EventSubscriber\UserEventSubscriber
+ arguments:
+ - '@netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.bus'
+
+ Symfony\Component\EventDispatcher\EventDispatcher:
+ calls:
+ - ['addSubscriber', ['@netgen_test.ibexa_search_extra.solr.event_subscriber.child_updates_parent']]
+ - ['addSubscriber', ['@netgen_test.ibexa_search_extra.asynchronous_indexing.event_subscriber.content']]
+ - ['addSubscriber', ['@netgen_test.ibexa_search_extra.asynchronous_indexing.event_subscriber.location']]
+ - ['addSubscriber', ['@netgen_test.ibexa_search_extra.asynchronous_indexing.event_subscriber.object_state']]
+ - ['addSubscriber', ['@netgen_test.ibexa_search_extra.asynchronous_indexing.event_subscriber.section']]
+ - ['addSubscriber', ['@netgen_test.ibexa_search_extra.asynchronous_indexing.event_subscriber.trash']]
+ - ['addSubscriber', ['@netgen_test.ibexa_search_extra.asynchronous_indexing.event_subscriber.user']]
+ - ['addSubscriber', ['@Ibexa\Core\Repository\EventSubscriber\NameSchemaSubscriber' ]]
diff --git a/tests/lib/Integration/Resources/config/services.yaml b/tests/lib/Integration/Resources/config/services.yaml
index 0998051e..ff4dc805 100644
--- a/tests/lib/Integration/Resources/config/services.yaml
+++ b/tests/lib/Integration/Resources/config/services.yaml
@@ -39,50 +39,3 @@ services:
- '@Ibexa\Core\Search\Legacy\Content\Handler'
tags:
- { name: ibexa.search.solr.field.mapper.location }
-
- netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.bus:
- class: Symfony\Component\Messenger\MessageBus
- arguments:
- - ['@netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.middleware']
-
- netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.middleware:
- class: Symfony\Component\Messenger\Middleware\HandleMessageMiddleware
- arguments:
- - '@netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.handler.locator'
-
- netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.handler.locator:
- class: Symfony\Component\Messenger\Handler\HandlersLocator
- arguments:
- -
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\CopyContent': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\CopyContentHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\DeleteContent': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\DeleteContentHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\DeleteTranslation': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\DeleteTranslationHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\HideContent': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\HideContentHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\PublishVersion': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\PublishVersionHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\RevealContent': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\RevealContentHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Content\UpdateContentMetadata': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Content\UpdateContentMetadataHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\AssignSectionToSubtree': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\AssignSectionToSubtreeHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\CopySubtree': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\CopySubtreeHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\CreateLocation': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\CreateLocationHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\DeleteLocation': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\DeleteLocationHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\HideLocation': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\HideLocationHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\MoveSubtree': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\MoveSubtreeHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\SwapLocation': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\SwapLocationHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\UnhideLocation': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\UnhideLocationHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Location\UpdateLocation': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Location\UpdateLocationHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\ObjectState\SetContentState': [ '@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\ObjectState\SetContentStateHandler' ]
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Section\AssignSection': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Section\AssignSectionHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Trash\Recover': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Trash\RecoverHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\Trash\Trash': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\Trash\TrashHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\AssignUserToUserGroup': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\AssignUserToUserGroupHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\BeforeUnAssignUserFromUserGroup': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\BeforeUnAssignUserFromUserGroupHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\CreateUserGroup': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\CreateUserGroupHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\CreateUser': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\CreateUserHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\DeleteUserGroup': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\DeleteUserGroupHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\DeleteUser': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\DeleteUserHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\MoveUserGroup': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\MoveUserGroupHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\UnAssignUserFromUserGroup': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\UnAssignUserFromUserGroupHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\UpdateUserGroup': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\UpdateUserGroupHandler']
- 'Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\Message\Search\User\UpdateUser': ['@Netgen\IbexaSearchExtra\Core\Search\Common\Messenger\MessageHandler\Search\User\UpdateUserHandler']
-
- netgen.ibexa_search_extra.asynchronous_indexing.messenger.bus: '@netgen_test.ibexa_search_extra.asynchronous_indexing.messenger.bus'
diff --git a/tests/lib/Integration/SetupFactory/RegressionSolr.php b/tests/lib/Integration/SetupFactory/RegressionSolr.php
index 132fde20..5ee28e6e 100644
--- a/tests/lib/Integration/SetupFactory/RegressionSolr.php
+++ b/tests/lib/Integration/SetupFactory/RegressionSolr.php
@@ -30,6 +30,7 @@ protected function externalBuildContainer(ContainerBuilder $containerBuilder): v
$testConfigPath = __DIR__ . '/../Resources/config/';
$loader = new YamlFileLoader($containerBuilder, new FileLocator($testConfigPath));
$loader->load('services.yaml');
+ $loader->load('event_dispatcher_override.yaml');
// Needs to be added first because other passes depend on it
$containerBuilder->addCompilerPass(new Compiler\TagSubdocumentCriterionVisitorsPass());
diff --git a/tests/lib/Integration/SetupFactory/RegressionSolrAsynchronous.php b/tests/lib/Integration/SetupFactory/RegressionSolrAsynchronous.php
new file mode 100644
index 00000000..03107fa1
--- /dev/null
+++ b/tests/lib/Integration/SetupFactory/RegressionSolrAsynchronous.php
@@ -0,0 +1,43 @@
+load('search/common.yaml');
+ $loader->load('search/solr_services.yaml');
+ $loader->load('search/solr_engine.yaml');
+
+ $testConfigPath = __DIR__ . '/../Resources/config/';
+ $loader = new YamlFileLoader($containerBuilder, new FileLocator($testConfigPath));
+ $loader->load('services.yaml');
+ $loader->load('event_dispatcher_override_asynchronous.yaml');
+
+ // Needs to be added first because other passes depend on it
+ $containerBuilder->addCompilerPass(new Compiler\TagSubdocumentCriterionVisitorsPass());
+ $containerBuilder->addCompilerPass(new Compiler\AggregateContentSubdocumentMapperPass());
+ $containerBuilder->addCompilerPass(new Compiler\AggregateContentTranslationSubdocumentMapperPass());
+ $containerBuilder->addCompilerPass(new Compiler\AggregateFacetBuilderVisitorPass());
+ $containerBuilder->addCompilerPass(new Compiler\AggregateSubdocumentQueryCriterionVisitorPass());
+ $containerBuilder->addCompilerPass(new Compiler\RawFacetBuilderDomainVisitorPass());
+ }
+}
diff --git a/tests/lib/Integration/SetupFactory/SolrAsynchronous.php b/tests/lib/Integration/SetupFactory/SolrAsynchronous.php
new file mode 100644
index 00000000..7a806923
--- /dev/null
+++ b/tests/lib/Integration/SetupFactory/SolrAsynchronous.php
@@ -0,0 +1,43 @@
+load('search/common.yaml');
+ $loader->load('search/solr_services.yaml');
+ $loader->load('search/solr_engine.yaml');
+
+ $testConfigPath = __DIR__ . '/../Resources/config/';
+ $loader = new YamlFileLoader($containerBuilder, new FileLocator($testConfigPath));
+ $loader->load('services.yaml');
+ $loader->load('event_dispatcher_override_asynchronous.yaml');
+
+ // Needs to be added first because other passes depend on it
+ $containerBuilder->addCompilerPass(new Compiler\TagSubdocumentCriterionVisitorsPass());
+ $containerBuilder->addCompilerPass(new Compiler\AggregateContentSubdocumentMapperPass());
+ $containerBuilder->addCompilerPass(new Compiler\AggregateContentTranslationSubdocumentMapperPass());
+ $containerBuilder->addCompilerPass(new Compiler\AggregateFacetBuilderVisitorPass());
+ $containerBuilder->addCompilerPass(new Compiler\AggregateSubdocumentQueryCriterionVisitorPass());
+ $containerBuilder->addCompilerPass(new Compiler\RawFacetBuilderDomainVisitorPass());
+ }
+}