apache / apache/camel-kamelets
Migrate DDB integration tests away from LocalStack
- Dominant language
- Java
- Stars
- 71
- Forks
- 88
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 70
Description
The DDB integration tests (`tests/camel-kamelets-itest/src/test/resources/aws/ddb/`) have been disabled because the UpdateItem and DeleteItem operations fail against LocalStack.
Unit tests in `camel-aws2-ddb` confirm the transformer + producer pipeline works correctly (PutItem, UpdateItem, DeleteItem all produce correct DDB requests). The failures appear to be LocalStack-specific — likely the deprecated `attributeUpdates()` API used by `UpdateItemCommand` not being properly supported by LocalStack.
The tests have been disabled by renaming `*.citrus.it.yaml` → `*.citrus.it.yaml.disabled`.
### TODO
- Migrate these tests to use the new LocalStack alternative (e.g. Floki or equivalent)
- Fix the delete-item test assertion (currently expects item to still exist after delete)
- Re-enable all 4 tests: put-item, update-item, delete-item, source
### Affected files
- `aws-ddb-sink-put-item.citrus.it.yaml.disabled`
- `aws-ddb-sink-update-item.citrus.it.yaml.disabled`
- `aws-ddb-sink-delete-item.citrus.it.yaml.disabled`
- `aws-ddb-source.citrus.it.yaml.disabled`
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the four disabled files under tests/camel-kamelets-itest/src/test/resources/aws/ddb/ and inspect the existing integration-test setup and LocalStack alternative. Re-enable the put-item, update-item, delete-item, and source tests, correct the delete assertion so it verifies deletion, and run the DDB integration tests to confirm all four pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, java
- Domain
- cloud, databases, testing
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100