apache / apache/camel-kamelets

Migrate DDB integration tests away from LocalStack

Open
#2,872 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.