@aventara/testing 1.0.0-rc.1 → 1.0.0-rc.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,142 @@
1
1
  # @aventara/testing
2
2
 
3
+ ## 1.0.0-rc.11
4
+
5
+ ### Patch Changes
6
+
7
+ - 67551ca: The protocol corpus covers rc.11's Operation Sets and cached reads. `POST /_all` rows: a mix of reads and writes answered
8
+ `200 A1000` with each key's own envelope, hostile keys, the streamed NDJSON answer, and the whole-request refusals
9
+ (`limits.maxAll`, an empty set, a bad key or member, a stale hash, `GET`). Cached-read rows run against a fourth corpus
10
+ ClientContract with `cache` stages, named by their query's `v`: each `for` audience's headers, the compressed `q`,
11
+ `ETag` and `304`, the `no-store` refusals, and the `405`s. `runAvProtocolConformance` and `AvProtocolCorpus.framework`
12
+ pick a `GET` row's contract by its `v`, and `fixtures/protocol-v1.json` lists the fourth contract.
13
+ - 186bc29: The corpus Contracts' hashes and `fixtures/protocol-v1.json` move once, because every Client Contract's limits now
14
+ include `maxAll` and `maxAllConcurrency`.
15
+ - Updated dependencies [6197c08]
16
+ - Updated dependencies [e0e89c1]
17
+ - Updated dependencies [186bc29]
18
+ - Updated dependencies [33b5f83]
19
+ - Updated dependencies [6d8b589]
20
+ - Updated dependencies [11ece49]
21
+ - Updated dependencies [92fd093]
22
+ - Updated dependencies [e5e98e6]
23
+ - Updated dependencies [a05d970]
24
+ - @aventara/core@1.0.0-rc.11
25
+
26
+ ## 1.0.0-rc.10
27
+
28
+ ### Patch Changes
29
+
30
+ - 04bb39a: `engines.node` is now `^22.23.4 || >=24.22.1`, the Node security releases of 2026-10-20 (CVE-2026-105481,
31
+ CVE-2026-105482, CVE-2026-105483, CVE-2026-106069, CVE-2026-106072, CVE-2026-106073, CVE-2026-106074,
32
+ CVE-2026-111497). The bins refuse an older Node in one sentence naming that range.
33
+ - 587dd01: The protocol corpus covers `POST /_access/can`: its answers and refusals, driven against a third corpus Client
34
+ Contract built with `access`. `AvProtocolCorpus.framework(hash)` serves that Contract for its hash, and
35
+ `fixtures/protocol-v1.json` carries it beside the other two.
36
+ - Updated dependencies [587dd01]
37
+ - Updated dependencies [d7e7369]
38
+ - Updated dependencies [7ee547b]
39
+ - Updated dependencies [f52c499]
40
+ - Updated dependencies [2907484]
41
+ - Updated dependencies [a6bbdf0]
42
+ - Updated dependencies [3e26549]
43
+ - Updated dependencies [a6bbdf0]
44
+ - Updated dependencies [6f3f6f6]
45
+ - Updated dependencies [04bb39a]
46
+ - Updated dependencies [3fb3333]
47
+ - Updated dependencies [827ccb6]
48
+ - Updated dependencies [7f5abc3]
49
+ - Updated dependencies [88263a1]
50
+ - Updated dependencies [10341d5]
51
+ - Updated dependencies [8129844]
52
+ - Updated dependencies [88263a1]
53
+ - Updated dependencies [3020b5c]
54
+ - Updated dependencies [88263a1]
55
+ - Updated dependencies [88263a1]
56
+ - @aventara/core@1.0.0-rc.10
57
+
58
+ ## 1.0.0-rc.9
59
+
60
+ ### Patch Changes
61
+
62
+ - Updated dependencies [205a379]
63
+ - Updated dependencies [a0bb05e]
64
+ - Updated dependencies [86ab319]
65
+ - Updated dependencies [fdf52e6]
66
+ - @aventara/core@1.0.0-rc.9
67
+
68
+ ## 1.0.0-rc.8
69
+
70
+ 1.0.0-rc.5, rc.6 and rc.7 were tagged but never published; 1.0.0-rc.8 contains everything listed under them and the changes below.
71
+
72
+ ### Patch Changes
73
+
74
+ - Updated dependencies [1c8e4ee]
75
+ - @aventara/core@1.0.0-rc.8
76
+
77
+ ## 1.0.0-rc.7
78
+
79
+ 1.0.0-rc.5 and 1.0.0-rc.6 were tagged but never published; 1.0.0-rc.7 contains everything listed under them and the changes below.
80
+
81
+ ### Patch Changes
82
+
83
+ - Updated dependencies [f917c1c]
84
+ - @aventara/core@1.0.0-rc.7
85
+
86
+ ## 1.0.0-rc.6
87
+
88
+ 1.0.0-rc.5 was tagged but never published. 1.0.0-rc.6 contains everything listed under 1.0.0-rc.5 and the fix below.
89
+
90
+ ### Patch Changes
91
+
92
+ - Updated dependencies [1cf72e0]
93
+ - @aventara/core@1.0.0-rc.6
94
+
95
+ ## 1.0.0-rc.5
96
+
97
+ ### Patch Changes
98
+
99
+ - Updated dependencies [4795ff1]
100
+ - Updated dependencies [9e178ca]
101
+ - @aventara/core@1.0.0-rc.5
102
+
103
+ ## 1.0.0-rc.4
104
+
105
+ ### Patch Changes
106
+
107
+ - Updated dependencies [e3d03a7]
108
+ - Updated dependencies [d10639a]
109
+ - Updated dependencies [f67e68c]
110
+ - Updated dependencies [708556c]
111
+ - Updated dependencies [3a0dfca]
112
+ - Updated dependencies [99169d2]
113
+ - Updated dependencies [0fd2608]
114
+ - Updated dependencies [154e440]
115
+ - Updated dependencies [2fcffdb]
116
+ - @aventara/core@1.0.0-rc.4
117
+
118
+ ## 1.0.0-rc.3
119
+
120
+ ### Patch Changes
121
+
122
+ - Updated dependencies [b38034d]
123
+ - Updated dependencies [b38034d]
124
+ - Updated dependencies [b38034d]
125
+ - Updated dependencies [b38034d]
126
+ - Updated dependencies [b38034d]
127
+ - Updated dependencies [b38034d]
128
+ - @aventara/core@1.0.0-rc.3
129
+
130
+ ## 1.0.0-rc.2
131
+
132
+ ### Patch Changes
133
+
134
+ - Updated dependencies [9366e16]
135
+ - Updated dependencies [9366e16]
136
+ - Updated dependencies [9366e16]
137
+ - Updated dependencies [9366e16]
138
+ - @aventara/core@1.0.0-rc.2
139
+
3
140
  ## 1.0.0-rc.1
4
141
 
5
142
  ### Patch Changes
@@ -465,7 +602,7 @@
465
602
  `framework.transaction`, `framework.executeTransaction` and `POST /_transactions` alike. A single call is unchanged
466
603
  (`["arguments", …]`). If your code reads `issue.path` from a transaction's answer, drop the `"operations", i, "args"`
467
604
  prefix to get the path inside that step's arguments. `@aventara/testing`'s protocol corpus row "a client-hidden
468
- field — /_transactions" and `fixtures/protocol-v1.json` carry the new path.
605
+ field — /\_transactions" and `fixtures/protocol-v1.json` carry the new path.
469
606
  - 032f792: **Behaviour changes, transactions:** an error about a transaction step itself — rather than its arguments — now
470
607
  names the step too, so every path in a transaction's answer is a path through the request you sent: an unknown or
471
608
  hidden Resource is at `["operations", i, "resource"]`, a fingerprint that does not match at
package/README.md CHANGED
@@ -20,7 +20,7 @@ It depends on `@aventara/core` only.
20
20
  npm install --save-dev @aventara/testing@rc
21
21
  ```
22
22
 
23
- Node `^22.18.0 || >=24.2.0`. ES modules.
23
+ Node `^22.23.4 || >=24.22.1`. ES modules.
24
24
 
25
25
  ## Serving the corpus through your own stack
26
26
 
@@ -36,8 +36,10 @@ const framework = await AvProtocolCorpus.framework();
36
36
  ```
37
37
 
38
38
  - `framework(contractHash?)`: a fresh corpus `AvFramework`, backed by an in-memory adapter whose answers every row
39
- states. Pass a row's `Aventara-Contract-Hash` to get the contract that row targets: a few rows target a second
40
- contract without transactions, and every other hash (a stale one included) gets the main contract.
39
+ states. Pass a row's `Aventara-Contract-Hash` to get the contract that row targets (a cached read's `GET` sends no
40
+ such header: pass its query's `v`). A few rows target a contract without transactions, the `/_access/can` rows one
41
+ with `access`, and the cached-read rows one with `cache` stages; every other hash (a stale one included) gets the
42
+ main contract.
41
43
  - `entrypoint`: where the corpus is mounted; every row's `path` is relative to it.
42
44
  - `clientContractHash`: the main ClientContract's hash. A client generated against it sends this hash, and
43
45
  `GET /_contract` names it.
@@ -63,8 +65,11 @@ or host written in another language can be held to the same answers:
63
65
  ```
64
66
 
65
67
  - `contracts`: each ClientContract a row targets: its hash and its exact `GET /_contract` bytes (`document`, a
66
- string). The first is the main contract, `clientContractHash`; a row targets the other by sending its hash.
67
- - `rows`: as `AvProtocolFixture` describes them. One body is too large to write out (one byte over the 1 MiB request
68
+ string). The first is the main contract, `clientContractHash`; a row targets another by sending its hash (a cached
69
+ read's `GET` as its query's `v`).
70
+ - `rows`: as `AvProtocolFixture` describes them. A cached read's `request` carries its `query` (without the `?`). A
71
+ streamed `POST /_all` answer (`Accept: application/x-ndjson`) is no envelope: its row's `code` is `null` and its
72
+ `bodyBytes` are the lines in order. One body is too large to write out (one byte over the 1 MiB request
68
73
  limit): its `request.body.content` is a recipe, `{ "prefix": "…", "repeat": "x", "times": 1048567, "suffix": "…" }`,
69
74
  standing for `prefix` + `repeat` repeated `times` times + `suffix`. Every other `content` is the body's text.
70
75