28 lines
983 B
Markdown
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`
|