@@ -12,7 +12,10 @@ class UploadTests: XCTestCase {
1212 let store = ApolloStore ( )
1313 let provider = LegacyInterceptorProvider ( store: store)
1414 let transport = RequestChainNetworkTransport ( interceptorProvider: provider,
15- endpointURL: self . uploadClientURL)
15+ endpointURL: self . uploadClientURL,
16+ additionalHeaders: [ " headerKey " : " headerValue " ] )
17+ transport. clientName = " test "
18+ transport. clientVersion = " test "
1619
1720 return ApolloClient ( networkTransport: transport, store: store)
1821 } ( )
@@ -295,12 +298,17 @@ class UploadTests: XCTestCase {
295298 mimeType: " text/plain " ,
296299 fileURL: alphaFileUrl)
297300 let operation = UploadOneFileMutation ( file: alphaFile. originalName)
298- let uploadRequest = UploadRequest ( graphQLEndpoint: TestURL . mockServer. url,
299- operation: operation,
300- clientName: " test " ,
301- clientVersion: " test " ,
302- files: [ alphaFile] ,
303- manualBoundary: " TEST.BOUNDARY " )
301+
302+ let transport = try XCTUnwrap ( self . client. networkTransport as? RequestChainNetworkTransport )
303+
304+ let httpRequest = transport. constructUploadRequest ( for: operation,
305+ with: [ alphaFile] ,
306+ manualBoundary: " TEST.BOUNDARY " )
307+ let uploadRequest = try XCTUnwrap ( httpRequest as? UploadRequest )
308+
309+ let urlRequest = try uploadRequest. toURLRequest ( )
310+ XCTAssertEqual ( urlRequest. allHTTPHeaderFields ? [ " headerKey " ] , " headerValue " )
311+
304312 let formData = try uploadRequest. requestMultipartFormData ( )
305313 let stringToCompare = try formData. toTestString ( )
306314
@@ -340,12 +348,16 @@ Alpha file content.
340348
341349 let files = [ alphaFile, betaFile]
342350 let operation = UploadMultipleFilesToTheSameParameterMutation ( files: files. map { $0. originalName } )
343- let uploadRequest = UploadRequest ( graphQLEndpoint: TestURL . mockServer. url,
344- operation: operation,
345- clientName: " test " ,
346- clientVersion: " test " ,
347- files: files,
348- manualBoundary: " TEST.BOUNDARY " )
351+ let transport = try XCTUnwrap ( self . client. networkTransport as? RequestChainNetworkTransport )
352+
353+ let httpRequest = transport. constructUploadRequest ( for: operation,
354+ with: [ alphaFile, betaFile] ,
355+ manualBoundary: " TEST.BOUNDARY " )
356+ let uploadRequest = try XCTUnwrap ( httpRequest as? UploadRequest )
357+
358+ let urlRequest = try uploadRequest. toURLRequest ( )
359+ XCTAssertEqual ( urlRequest. allHTTPHeaderFields ? [ " headerKey " ] , " headerValue " )
360+
349361 let multipartData = try uploadRequest. requestMultipartFormData ( )
350362 let stringToCompare = try multipartData. toTestString ( )
351363
@@ -394,12 +406,15 @@ Bravo file content.
394406 mimeType: " text/plain " ,
395407 fileURL: charlieFileUrl)
396408
397- let uploadRequest = UploadRequest ( graphQLEndpoint: TestURL . mockServer. url,
398- operation: HeroNameQuery ( ) ,
399- clientName: " test " ,
400- clientVersion: " test " ,
401- files: [ alphaFile, betaFile, charlieFile] ,
402- manualBoundary: " TEST.BOUNDARY " )
409+ let transport = try XCTUnwrap ( self . client. networkTransport as? RequestChainNetworkTransport )
410+
411+ let httpRequest = transport. constructUploadRequest ( for: HeroNameQuery ( ) ,
412+ with: [ alphaFile, betaFile, charlieFile] ,
413+ manualBoundary: " TEST.BOUNDARY " )
414+ let uploadRequest = try XCTUnwrap ( httpRequest as? UploadRequest )
415+
416+ let urlRequest = try uploadRequest. toURLRequest ( )
417+ XCTAssertEqual ( urlRequest. allHTTPHeaderFields ? [ " headerKey " ] , " headerValue " )
403418
404419 let multipartData = try uploadRequest. requestMultipartFormData ( )
405420 let stringToCompare = try multipartData. toTestString ( )
0 commit comments