docs: add a Role in the framework section to every module README
Each module README now says where the module sits in the dependency graph, why it is its own module, and lists use cases for application developers.
This commit is contained in:
@@ -10,6 +10,16 @@ HTTP parity toolkit that records request and response fixtures from a reference
|
||||
|
||||
`tide` is the acceptance-test engine for porting an existing WinterCMS or other PHP backend to SummerCMS: the reference backend's real responses define the contract, and the Go port must reproduce them. It records YAML fixtures (flows of request and response steps) either by driving a spec against a target or by sitting as a loopback reverse proxy in front of the reference backend while a real client uses it, then replays those fixtures against the port and diffs the responses after masking values that legitimately differ, such as IDs and timestamps. It also checks realtime side effects: a fake Centrifugo recorder captures the publications a backend sends while a flow runs, and broadcast golden files hold them normalised for comparison. Upstream sidecars record the calls a backend makes to outside vendors, through a loopback HTTPS recording proxy, and replay them offline through an asserting fake. The `summer` CLI's parity:proxy, parity:record, parity:replay, parity:broadcasts and parity:upstream commands are thin wrappers around this package. It has no WinterCMS counterpart.
|
||||
|
||||
## Role in the framework
|
||||
|
||||
A tooling module, used by the summer CLI and by an application's parity suite; it depends only on `fetchguard`. It is not part of a running server. It exists for ports: it checks that a rewritten backend answers like the old one.
|
||||
|
||||
Use cases:
|
||||
|
||||
- Record real responses from a reference backend as fixtures.
|
||||
- Replay them against the new backend in CI and fail on differences.
|
||||
- Normalize timestamps and generated IDs so only real differences are reported.
|
||||
|
||||
## Features
|
||||
|
||||
- Flow fixtures: `tide.Flow` is a versioned, ordered list of `tide.Step` values, loaded strictly (unknown fields rejected) with `tide.LoadFlow` and `tide.ParseFlow`, and written atomically with `tide.SaveFlow` or `tide.SaveFlowExclusive`. Response bodies can live in sidecar files, confined to the fixture directory and checked against an optional SHA-256 digest.
|
||||
|
||||
Reference in New Issue
Block a user