Files
post3/todos/POST3-007-integration-tests.md
2026-02-27 11:38:10 +01:00

28 lines
983 B
Markdown

# POST3-007: Integration tests with aws-sdk-s3
**Status:** Done
**Priority:** P1
**Blocked by:** POST3-006
## Description
End-to-end integration tests using the official AWS S3 Rust SDK to validate the full stack.
## Acceptance Criteria
- [ ] `tests/common/mod.rs` — TestServer helper:
- Starts server on ephemeral port (port 0)
- Configures aws-sdk-s3 with force_path_style, dummy creds, custom endpoint
- Cleans database between tests
- [ ] Test: create + list buckets
- [ ] Test: head bucket (exists + not exists)
- [ ] Test: delete bucket
- [ ] Test: put + get small object (body roundtrip)
- [ ] Test: put large object (5 MiB, verify chunked storage + reassembly)
- [ ] Test: head object (size, etag, content-type)
- [ ] Test: delete object (verify 404 after)
- [ ] Test: list objects v2 with prefix filter
- [ ] Test: overwrite object (verify latest version)
- [ ] Test: user metadata roundtrip (x-amz-meta-* headers)
- [ ] All tests pass with `cargo nextest run`