@@ -349,8 +349,8 @@ final class TUSClient_HeaderGenerationTests: XCTestCase {
349349 XCTAssertTrue ( uploadHeaders. contains ( customHeaders) )
350350 }
351351
352- /// Ensures new headers introduced by the generator are ignored for protocol safety .
353- func testGenerateHeadersDoesNotAllowUnknownHeaders ( ) throws {
352+ /// Ensures the generator cannot override headers that TUSClient manages itself .
353+ func testGenerateHeadersCannotOverrideReservedHeaders ( ) throws {
354354 let configuration = URLSessionConfiguration . default
355355 configuration. protocolClasses = [ MockURLProtocol . self]
356356 MockURLProtocol . reset ( )
@@ -368,7 +368,7 @@ final class TUSClient_HeaderGenerationTests: XCTestCase {
368368 generateHeaders: { _, headers, onHeadersGenerated in
369369 var newHeaders = headers
370370 newHeaders [ " Authorization " ] = " Bearer mutated "
371- newHeaders [ " X-Injected " ] = " should-not-pass "
371+ newHeaders [ " Upload-Offset " ] = " 999 "
372372 onHeadersGenerated ( newHeaders)
373373 }
374374 )
@@ -377,11 +377,13 @@ final class TUSClient_HeaderGenerationTests: XCTestCase {
377377 _ = try client. upload ( data: data, customHeaders: customHeaders)
378378 wait ( for: [ tusDelegate. finishUploadExpectation!] , timeout: 5 )
379379
380- XCTAssertTrue ( MockURLProtocol . receivedRequests. contains { request in
381- request. allHTTPHeaderFields ? [ " Authorization " ] == " Bearer mutated "
382- } )
383- XCTAssertFalse ( MockURLProtocol . receivedRequests. contains { request in
384- request. allHTTPHeaderFields ? [ " X-Injected " ] != nil
385- } )
380+ let patchRequests = MockURLProtocol . receivedRequests. filter { $0. httpMethod == " PATCH " }
381+ XCTAssertFalse ( patchRequests. isEmpty)
382+ guard let patchHeaders = patchRequests. first? . allHTTPHeaderFields else {
383+ XCTFail ( " Expected PATCH request headers " )
384+ return
385+ }
386+ XCTAssertEqual ( patchHeaders [ " Authorization " ] , " Bearer mutated " )
387+ XCTAssertNotEqual ( patchHeaders [ " Upload-Offset " ] , " 999 " )
386388 }
387389}
0 commit comments