Skip to content

TIKA-4606: Add e2e tests for Ignite 3.x upgrade#2649

Open
nddipiazza wants to merge 2 commits intomainfrom
TIKA-4606-e2e-tests
Open

TIKA-4606: Add e2e tests for Ignite 3.x upgrade#2649
nddipiazza wants to merge 2 commits intomainfrom
TIKA-4606-e2e-tests

Conversation

@nddipiazza
Copy link
Contributor

Summary

Adds the tika-e2e-tests module to the parent build and updates the gRPC e2e test suite to work with the Ignite 3.x upgrade from #2648.

⚠️ Depends on: #2648 (TIKA-4606 core Ignite upgrade) must be merged first.

Changes

  • Root pom.xml: Added <module>tika-e2e-tests</module>
  • tika-e2e-tests/pom.xml: Inherit from tika-parent; added Micronaut version alignment for Ignite 3.x transitive deps; pinned testcontainers to 2.0.3; added Apache RAT excludes
  • tika-e2e-tests/tika-grpc/pom.xml: Default to local server mode (tika.e2e.useLocalServer=true — no Docker needed in CI); added Awaitility; disabled enforcer for Ignite 3.x transitive dep conflicts
  • tika-config-ignite-local.json: New config for local (non-Docker) server mode
  • ExternalTestBase: Conditional logic to start a local TikaGrpcServer vs spin up a Docker container
  • IgniteConfigStoreTest (e2e): Full e2e flow using the gRPC channel against local server
  • FileSystemFetcherTest: e2e test for filesystem fetcher through gRPC pipeline

Review Focus Areas

  • Local server mode: ExternalTestBase — conditional branching on tika.e2e.useLocalServer property
  • Resource cleanup: gRPC channel and server shutdown in @AfterAll
  • CI compatibility: no Docker required by default; override with -Dtika.e2e.useLocalServer=false

Critical Files

  • tika-e2e-tests/tika-grpc/src/test/java/org/apache/tika/pipes/ExternalTestBase.java
  • tika-e2e-tests/tika-grpc/src/test/java/org/apache/tika/pipes/ignite/IgniteConfigStoreTest.java
  • tika-e2e-tests/tika-grpc/pom.xml

Testing Instructions

# After #2648 is merged, run e2e tests in local server mode (default):
mvn verify -pl tika-e2e-tests/tika-grpc

# To use Docker instead:
mvn verify -pl tika-e2e-tests/tika-grpc -Dtika.e2e.useLocalServer=false

Related

nddipiazza and others added 2 commits February 25, 2026 18:16
- Upgraded ignite-core 2.16.0 to ignite-runner 3.1.0
- Migrated configuration from IgniteConfiguration API to HOCON-based config files
- Updated API usage from IgniteCache to new KeyValueView API
- Fixed ExtensionConfigDTO to use Ignite 3.x Mapper annotations
- Simplified IgniteStoreServer to synchronous embedded mode
- Fixed EmitHandler: added null check for NO_EMIT scenario to prevent NPE
- Updated gRPC proto: added emitter_id field to FetchAndParseRequest
- Updated TikaGrpcServerImpl: proper lifecycle management for IgniteStoreServer
- Added JVM --add-opens flags for Java 17+ compatibility
- Updated unit tests (IgniteConfigStoreTest) for Ignite 3.x embedded server pattern

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add tika-e2e-tests module to root pom.xml build
- Update tika-e2e-tests parent pom: inherit from tika-parent, add Micronaut
  version alignment for Ignite 3.x transitive dependencies
- Update tika-grpc e2e pom: local server mode by default (tika.e2e.useLocalServer=true),
  add Awaitility dependency, disable enforcer for Ignite 3.x dep conflicts
- Add tika-config-ignite-local.json for local server mode testing
- Update ExternalTestBase and IgniteConfigStoreTest for local vs Docker switching
- Add FileSystemFetcherTest e2e test

Note: these tests require the Ignite 3.x core upgrade from TIKA-4606-ignite-core.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant