[
https://issues.apache.org/jira/browse/NUTCH-3154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18058472#comment-18058472
]
ASF GitHub Bot commented on NUTCH-3154:
---------------------------------------
lewismc opened a new pull request, #895:
URL: https://github.com/apache/nutch/pull/895
This is a proof of concept for
[NUTCH-3154](https://issues.apache.org/jira/browse/NUTCH-3154).
I really like this model as the `@Testcontainers(disabledWithoutDocker =
true)` annotation will simply skip the test(s) if no local container
environment is present. More info at
https://java.testcontainers.org/quickstart/junit_5_quickstart/#4-additional-attributes
The new target is `test-indexer-integration`. This will be triggered in CI
if changes to `src/plugin/indexer-*/**` are detected.
My proposal is as follows
indexer-cloudsearch - implement
indexer-csv - DO NOT implement
indexer-dummy - DO NOT implement
indexer-elastic - implement per this PR
indexer-kafka - implement
indexer-opensearch-1x - implement (and possibly deprecate for removal...)
indexer-rabbit - implement
indexer-solr - implement
Thanks for any peer review
> Implement integration testing framework for Nutch IndexWriter plugins using
> Testcontainers
> ------------------------------------------------------------------------------------------
>
> Key: NUTCH-3154
> URL: https://issues.apache.org/jira/browse/NUTCH-3154
> Project: Nutch
> Issue Type: New Feature
> Components: indexer, test
> Reporter: Lewis John McGibbney
> Assignee: Lewis John McGibbney
> Priority: Major
> Fix For: 1.23
>
>
> I recently came across NUTCH-3003 which reminded me of a stale thought I had
> regarding integration testing for the indexer plugins using
> [https://java.testcontainers.org/. |https://java.testcontainers.org/]
> Such an initiative would deliver a comprehensive integration testing
> framework for Nutch indexer plugins (implementations of IndexWriter
> interface) using Testcontainers. This would enable real-world testing against
> actual database/search engine containers rather than mocking... or nothing
> which is what we currently have.
> *Scope*
> * Add Testcontainers support to Ant build system
> * Configure integration test targets separate from unit tests
> * Enable inegration testing for individual and all indexer plugins
> (elasticsearch, kafka, rabbitmq, solr, opensearch, etc.)
> * Ensure CI/CD compatibility with GitHub Actions
> This ticket will encourage any discussion around this issue. Thanks in
> advance.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)