@@ -24,10 +24,10 @@ import Foundation
24
24
#endif
25
25
26
26
@Suite ( " LambdaResponseStreamWriter+Headers Tests " )
27
- @available ( LambdaSwift 2 . 0 , * )
28
27
struct LambdaResponseStreamWriterHeadersTests {
29
28
30
29
@Test ( " Write status and headers with minimal response (status code only) " )
30
+ @available ( LambdaSwift 2 . 0 , * )
31
31
func testWriteStatusAndHeadersMinimal( ) async throws {
32
32
let writer = MockLambdaResponseStreamWriter ( )
33
33
let response = StreamingLambdaStatusAndHeadersResponse ( statusCode: 200 )
@@ -44,6 +44,7 @@ struct LambdaResponseStreamWriterHeadersTests {
44
44
}
45
45
46
46
@Test ( " Write status and headers with full response (all fields populated) " )
47
+ @available ( LambdaSwift 2 . 0 , * )
47
48
func testWriteStatusAndHeadersFull( ) async throws {
48
49
let writer = MockLambdaResponseStreamWriter ( )
49
50
let response = StreamingLambdaStatusAndHeadersResponse (
@@ -80,6 +81,7 @@ struct LambdaResponseStreamWriterHeadersTests {
80
81
}
81
82
82
83
@Test ( " Write status and headers with custom encoder " )
84
+ @available ( LambdaSwift 2 . 0 , * )
83
85
func testWriteStatusAndHeadersWithCustomEncoder( ) async throws {
84
86
let writer = MockLambdaResponseStreamWriter ( )
85
87
let response = StreamingLambdaStatusAndHeadersResponse (
@@ -107,6 +109,7 @@ struct LambdaResponseStreamWriterHeadersTests {
107
109
}
108
110
109
111
@Test ( " Write status and headers with only headers (no multiValueHeaders) " )
112
+ @available ( LambdaSwift 2 . 0 , * )
110
113
func testWriteStatusAndHeadersOnlyHeaders( ) async throws {
111
114
let writer = MockLambdaResponseStreamWriter ( )
112
115
let response = StreamingLambdaStatusAndHeadersResponse (
@@ -132,6 +135,7 @@ struct LambdaResponseStreamWriterHeadersTests {
132
135
}
133
136
134
137
@Test ( " Write status and headers with only multiValueHeaders (no headers) " )
138
+ @available ( LambdaSwift 2 . 0 , * )
135
139
func testWriteStatusAndHeadersOnlyMultiValueHeaders( ) async throws {
136
140
let writer = MockLambdaResponseStreamWriter ( )
137
141
let response = StreamingLambdaStatusAndHeadersResponse (
@@ -162,6 +166,7 @@ struct LambdaResponseStreamWriterHeadersTests {
162
166
}
163
167
164
168
@Test ( " Verify JSON serialization format matches expected structure " )
169
+ @available ( LambdaSwift 2 . 0 , * )
165
170
func testJSONSerializationFormat( ) async throws {
166
171
let writer = MockLambdaResponseStreamWriter ( )
167
172
let response = StreamingLambdaStatusAndHeadersResponse (
@@ -199,6 +204,7 @@ struct LambdaResponseStreamWriterHeadersTests {
199
204
}
200
205
201
206
@Test ( " Verify buffer contains both JSON and null byte separator " )
207
+ @available ( LambdaSwift 2 . 0 , * )
202
208
func testBufferContainsJsonAndSeparator( ) async throws {
203
209
let writer = MockLambdaResponseStreamWriter ( )
204
210
let response = StreamingLambdaStatusAndHeadersResponse ( statusCode: 200 )
@@ -219,6 +225,7 @@ struct LambdaResponseStreamWriterHeadersTests {
219
225
// MARK: - Error Handling Tests
220
226
221
227
@Test ( " JSON serialization error propagation " )
228
+ @available ( LambdaSwift 2 . 0 , * )
222
229
func testJSONSerializationErrorPropagation( ) async throws {
223
230
let writer = MockLambdaResponseStreamWriter ( )
224
231
let response = StreamingLambdaStatusAndHeadersResponse ( statusCode: 200 )
@@ -236,6 +243,7 @@ struct LambdaResponseStreamWriterHeadersTests {
236
243
}
237
244
238
245
@Test ( " Write method error propagation " )
246
+ @available ( LambdaSwift 2 . 0 , * )
239
247
func testWriteMethodErrorPropagation( ) async throws {
240
248
let writer = FailingMockLambdaResponseStreamWriter ( failOnWriteCall: 1 ) // Fail on first write
241
249
let response = StreamingLambdaStatusAndHeadersResponse ( statusCode: 200 )
@@ -252,6 +260,7 @@ struct LambdaResponseStreamWriterHeadersTests {
252
260
// This test is no longer needed since we only have one write operation now
253
261
254
262
@Test ( " Error types and messages are properly handled " )
263
+ @available ( LambdaSwift 2 . 0 , * )
255
264
func testErrorTypesAndMessages( ) async throws {
256
265
let writer = MockLambdaResponseStreamWriter ( )
257
266
let response = StreamingLambdaStatusAndHeadersResponse ( statusCode: 200 )
@@ -272,6 +281,7 @@ struct LambdaResponseStreamWriterHeadersTests {
272
281
}
273
282
274
283
@Test ( " JSONEncoder error propagation with invalid data " )
284
+ @available ( LambdaSwift 2 . 0 , * )
275
285
func testJSONEncoderErrorPropagation( ) async throws {
276
286
let writer = MockLambdaResponseStreamWriter ( )
277
287
@@ -293,6 +303,7 @@ struct LambdaResponseStreamWriterHeadersTests {
293
303
// MARK: - Integration Tests
294
304
295
305
@Test ( " Integration: writeStatusAndHeaders with existing streaming methods " )
306
+ @available ( LambdaSwift 2 . 0 , * )
296
307
func testIntegrationWithExistingStreamingMethods( ) async throws {
297
308
let writer = MockLambdaResponseStreamWriter ( )
298
309
let response = StreamingLambdaStatusAndHeadersResponse (
@@ -337,6 +348,7 @@ struct LambdaResponseStreamWriterHeadersTests {
337
348
}
338
349
339
350
@Test ( " Integration: multiple header writes work correctly " )
351
+ @available ( LambdaSwift 2 . 0 , * )
340
352
func testMultipleHeaderWrites( ) async throws {
341
353
let writer = MockLambdaResponseStreamWriter ( )
342
354
@@ -371,6 +383,7 @@ struct LambdaResponseStreamWriterHeadersTests {
371
383
}
372
384
373
385
@Test ( " Integration: header write followed by body streaming compatibility " )
386
+ @available ( LambdaSwift 2 . 0 , * )
374
387
func testHeaderWriteFollowedByBodyStreaming( ) async throws {
375
388
let writer = MockLambdaResponseStreamWriter ( )
376
389
@@ -419,6 +432,7 @@ struct LambdaResponseStreamWriterHeadersTests {
419
432
}
420
433
421
434
@Test ( " Integration: verify method works with different LambdaResponseStreamWriter implementations " )
435
+ @available ( LambdaSwift 2 . 0 , * )
422
436
func testWithDifferentWriterImplementations( ) async throws {
423
437
// Test with basic mock implementation
424
438
let basicWriter = MockLambdaResponseStreamWriter ( )
@@ -442,6 +456,7 @@ struct LambdaResponseStreamWriterHeadersTests {
442
456
}
443
457
444
458
@Test ( " Integration: complex scenario with headers, streaming, and finish " )
459
+ @available ( LambdaSwift 2 . 0 , * )
445
460
func testComplexIntegrationScenario( ) async throws {
446
461
let writer = MockLambdaResponseStreamWriter ( )
447
462
@@ -494,6 +509,7 @@ struct LambdaResponseStreamWriterHeadersTests {
494
509
}
495
510
496
511
@Test ( " Integration: verify compatibility with protocol requirements " )
512
+ @available ( LambdaSwift 2 . 0 , * )
497
513
func testProtocolCompatibility( ) async throws {
498
514
let writer = MockLambdaResponseStreamWriter ( )
499
515
let response = StreamingLambdaStatusAndHeadersResponse ( statusCode: 200 )
0 commit comments