Skip to content

Commit 85d47ef

Browse files
committed
feat: deduplicate / concise testsupport/AGENTS.md
1 parent 59cbdf9 commit 85d47ef

File tree

1 file changed

+7
-24
lines changed

1 file changed

+7
-24
lines changed

testsupport/AGENTS.md

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Agent Context for S3Mock Test Support
22

3+
> Inherits all conventions from the [root AGENTS.md](../AGENTS.md). Below are module-specific additions only.
4+
35
Test framework integrations for using S3Mock: JUnit 5, Testcontainers, TestNG.
46

57
> **Deprecation Notice (6.x):** The JUnit 5, TestNG, and all direct-integration modules will be
@@ -8,22 +10,16 @@ Test framework integrations for using S3Mock: JUnit 5, Testcontainers, TestNG.
810
911
## Framework Selection
1012

11-
- **Testcontainers** (`testcontainers/`) - Docker container isolation, works with any framework. **Recommended.**
12-
- **JUnit 5** (`junit5/`) - Extension with parameter injection. Will be removed in 6.x.
13-
- **TestNG** (`testng/`) - Listener-based integration. Will be removed in 6.x.
14-
- **Common** (`common/`) - Shared `S3MockStarter` base class and utilities.
15-
16-
> **Note:** JUnit 4 support (`junit4/`) was removed in 5.x.
13+
- **Testcontainers** (`testcontainers/`) — Docker container isolation, works with any framework. **Recommended.**
14+
- **JUnit 5** (`junit5/`) — Extension with parameter injection. Will be removed in 6.x.
15+
- **TestNG** (`testng/`) — Listener-based integration. Will be removed in 6.x.
16+
- **Common** (`common/`) — Shared `S3MockStarter` base class and utilities.
1717

18-
## DO / DON'T
18+
## Module-Specific Rules
1919

20-
### DO
2120
- Prefer **Testcontainers** for new test setups — it provides the best isolation
2221
- Keep framework modules **thin** — delegate to `common/` for shared logic
2322
- Maintain backward compatibility for existing public APIs
24-
25-
### DON'T
26-
- DON'T add new features to `junit4/` — it has been removed in 5.x
2723
- DON'T invest heavily in `junit5/` or `testng/` — they will be removed in 6.x
2824
- DON'T add framework-specific logic that belongs in `common/`
2925

@@ -74,16 +70,3 @@ val endpoint = System.getProperty("s3mock.httpEndpoint")
7470
```
7571

7672
Parameters: `s3mock.httpPort` (9090), `s3mock.httpsPort` (9191), `s3mock.initialBuckets`, `s3mock.root`.
77-
78-
## Design Principles
79-
80-
1. Framework-agnostic core in `common` module
81-
2. Simple API with sensible defaults
82-
3. Proper lifecycle management (start before tests, stop after)
83-
4. Resource cleanup after tests
84-
85-
## Common Issues
86-
87-
- **Not starting**: Check ports 9090/9191 availability, Docker running (Testcontainers)
88-
- **Connection refused**: Verify S3Mock started, correct endpoint URL
89-
- **Test interference**: Use unique bucket names (UUID), ensure test isolation

0 commit comments

Comments
 (0)