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()); + } +}