@durable-streams/client-conformance-tests 0.2.1 → 0.2.3

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@durable-streams/client-conformance-tests",
3
3
  "description": "Conformance test suite for Durable Streams client implementations (producer and consumer)",
4
- "version": "0.2.1",
4
+ "version": "0.2.3",
5
5
  "author": "Durable Stream contributors",
6
6
  "bin": {
7
7
  "client-conformance-tests": "./dist/cli.js",
@@ -14,8 +14,8 @@
14
14
  "fast-check": "^4.4.0",
15
15
  "tsx": "^4.19.2",
16
16
  "yaml": "^2.7.1",
17
- "@durable-streams/client": "0.2.1",
18
- "@durable-streams/server": "0.2.1"
17
+ "@durable-streams/client": "0.2.3",
18
+ "@durable-streams/server": "0.2.3"
19
19
  },
20
20
  "devDependencies": {
21
21
  "tsdown": "^0.9.0",
@@ -130,6 +130,58 @@ tests:
130
130
  upToDate: true
131
131
  chunkCount: 0
132
132
 
133
+ - id: sse-json-empty-stream
134
+ name: SSE on empty JSON stream
135
+ description: SSE JSON mode should handle empty streams without stalling
136
+ requiredFeatures: [json]
137
+ setup:
138
+ - action: create
139
+ as: streamPath
140
+ contentType: application/json
141
+ operations:
142
+ - action: read
143
+ path: ${streamPath}
144
+ live: sse
145
+ waitForUpToDate: true
146
+ expect:
147
+ upToDate: true
148
+ chunkCount: 0
149
+
150
+ - id: sse-json-receives-new-data-after-empty-catchup
151
+ name: SSE JSON receives new data after initial empty catch-up
152
+ description: |
153
+ In JSON mode, reading from tail may first produce an empty catch-up batch.
154
+ Client must continue and receive subsequent appended JSON data.
155
+ requiredFeatures: [json]
156
+ setup:
157
+ - action: create
158
+ as: streamPath
159
+ contentType: application/json
160
+ - action: append
161
+ path: ${streamPath}
162
+ json: { id: 0 }
163
+ expect:
164
+ storeOffsetAs: tailOffset
165
+ operations:
166
+ - action: read
167
+ path: ${streamPath}
168
+ offset: ${tailOffset}
169
+ live: sse
170
+ maxChunks: 1
171
+ timeoutMs: 10000
172
+ background: true
173
+ as: readOp
174
+ - action: wait
175
+ ms: 200
176
+ - action: server-append
177
+ path: ${streamPath}
178
+ data: '{"id":1}'
179
+ - action: await
180
+ ref: readOp
181
+ expect:
182
+ dataContains: '"id":1'
183
+ minChunks: 1
184
+
133
185
  - id: sse-binary-data
134
186
  name: SSE with binary data
135
187
  description: SSE should correctly transmit binary data with auto-detected base64 encoding