@@ -74,6 +74,7 @@ class UploadTests: XCTestCase {
7474 XCTAssertEqual ( response? . json ? [ " status " ] as? String , " Stored " )
7575 XCTAssertEqual ( response? . json ? [ " url " ] as? String , " https://cdn.filestackcontent.com/6GKA0wnQWO7tKaGu2YXA " )
7676 XCTAssertEqual ( response? . json ? [ " mimetype " ] as? String , " image/jpeg " )
77+ XCTAssertEqual ( response? . context as? URL , largeFileURL)
7778 }
7879
7980 func testIntelligentMultiPartUpload( ) {
@@ -84,10 +85,10 @@ class UploadTests: XCTestCase {
8485 stubMultipartCompleteRequest ( )
8586
8687 let expectation = self . expectation ( description: " request should succeed " )
87- var json : [ String : Any ] !
88+ var response : JSONResponse ?
8889
8990 let uploader = client. upload ( using: largeFileURL) { resp in
90- json = resp. json
91+ response = resp
9192 expectation. fulfill ( )
9293 }
9394
@@ -98,12 +99,13 @@ class UploadTests: XCTestCase {
9899 XCTAssertEqual ( uploader. progress. fileTotalCount, 1 )
99100 XCTAssertEqual ( uploader. progress. fileCompletedCount, 1 )
100101
101- XCTAssertEqual ( json [ " handle " ] as? String , " 6GKA0wnQWO7tKaGu2YXA " )
102- XCTAssertEqual ( json [ " size " ] as? Int , largeFileSize)
103- XCTAssertEqual ( json [ " filename " ] as? String , " large.jpg " )
104- XCTAssertEqual ( json [ " status " ] as? String , " Stored " )
105- XCTAssertEqual ( json [ " url " ] as? String , " https://cdn.filestackcontent.com/6GKA0wnQWO7tKaGu2YXA " )
106- XCTAssertEqual ( json [ " mimetype " ] as? String , " image/jpeg " )
102+ XCTAssertEqual ( response? . json ? [ " handle " ] as? String , " 6GKA0wnQWO7tKaGu2YXA " )
103+ XCTAssertEqual ( response? . json ? [ " size " ] as? Int , largeFileSize)
104+ XCTAssertEqual ( response? . json ? [ " filename " ] as? String , " large.jpg " )
105+ XCTAssertEqual ( response? . json ? [ " status " ] as? String , " Stored " )
106+ XCTAssertEqual ( response? . json ? [ " url " ] as? String , " https://cdn.filestackcontent.com/6GKA0wnQWO7tKaGu2YXA " )
107+ XCTAssertEqual ( response? . json ? [ " mimetype " ] as? String , " image/jpeg " )
108+ XCTAssertEqual ( response? . context as? URL , largeFileURL)
107109 }
108110
109111 func testCancellingResumableMultiPartUpload( ) {
@@ -114,11 +116,10 @@ class UploadTests: XCTestCase {
114116 stubMultipartCompleteRequest ( requestTime: 5.0 , responseTime: 5.0 )
115117
116118 let expectation = self . expectation ( description: " request should succeed " )
117-
118- var error : Swift . Error !
119+ var response : JSONResponse ?
119120
120121 let uploader = client. upload ( using: sampleFileURL) { resp in
121- error = resp. error
122+ response = resp
122123 expectation. fulfill ( )
123124 }
124125
@@ -134,7 +135,8 @@ class UploadTests: XCTestCase {
134135 XCTAssertEqual ( uploader. progress. fileCompletedCount, 1 )
135136 XCTAssertTrue ( uploader. progress. isCancelled)
136137
137- XCTAssertNotNil ( error)
138+ XCTAssertNotNil ( response? . error)
139+ XCTAssertNil ( response? . context)
138140 }
139141
140142 func testCancellingStartedUploadWithoutUploadablesShouldCallCompletionHandler( ) {
@@ -212,22 +214,21 @@ class UploadTests: XCTestCase {
212214 XCTAssertEqual ( hitCount, 1 )
213215 XCTAssertNotNil ( response? . json)
214216
215- let json : [ String : Any ] ! = response? . json
216-
217217 XCTAssertEqual ( uploader. progress. totalUnitCount, Int64 ( largeFileSize) )
218218 XCTAssertEqual ( uploader. progress. completedUnitCount, Int64 ( largeFileSize) )
219219 XCTAssertEqual ( uploader. progress. fileTotalCount, 1 )
220220 XCTAssertEqual ( uploader. progress. fileCompletedCount, 1 )
221221
222- XCTAssertEqual ( json [ " handle " ] as? String , " 6GKA0wnQWO7tKaGu2YXA " )
223- XCTAssertEqual ( json [ " size " ] as? Int , largeFileSize)
224- XCTAssertEqual ( json [ " filename " ] as? String , " large.jpg " )
225- XCTAssertEqual ( json [ " status " ] as? String , " Stored " )
226- XCTAssertEqual ( json [ " url " ] as? String , " https://cdn.filestackcontent.com/6GKA0wnQWO7tKaGu2YXA " )
227- XCTAssertEqual ( json [ " mimetype " ] as? String , " image/jpeg " )
228- XCTAssertEqual ( json [ " upload_tags " ] as? [ String : String ] , uploadTags)
222+ XCTAssertEqual ( response? . json ? [ " handle " ] as? String , " 6GKA0wnQWO7tKaGu2YXA " )
223+ XCTAssertEqual ( response? . json ? [ " size " ] as? Int , largeFileSize)
224+ XCTAssertEqual ( response? . json ? [ " filename " ] as? String , " large.jpg " )
225+ XCTAssertEqual ( response? . json ? [ " status " ] as? String , " Stored " )
226+ XCTAssertEqual ( response? . json ? [ " url " ] as? String , " https://cdn.filestackcontent.com/6GKA0wnQWO7tKaGu2YXA " )
227+ XCTAssertEqual ( response? . json ? [ " mimetype " ] as? String , " image/jpeg " )
228+ XCTAssertEqual ( response? . json ? [ " upload_tags " ] as? [ String : String ] , uploadTags)
229+ XCTAssertEqual ( response? . context as? URL , largeFileURL)
229230
230- let returnedWorkflows : [ String : Any ] ! = json [ " workflows " ] as? [ String : Any ]
231+ let returnedWorkflows : [ String : Any ] ! = response ? . json ? [ " workflows " ] as? [ String : Any ]
231232
232233 XCTAssertNotNil ( returnedWorkflows [ " workflow-1 " ] )
233234 XCTAssertNotNil ( returnedWorkflows [ " workflow-2 " ] )
@@ -270,9 +271,10 @@ class UploadTests: XCTestCase {
270271 XCTAssertEqual ( json [ " status " ] as? String , " Stored " )
271272 XCTAssertEqual ( json [ " url " ] as? String , " https://cdn.filestackcontent.com/6GKA0wnQWO7tKaGu2YXA " )
272273 XCTAssertEqual ( json [ " mimetype " ] as? String , " image/jpeg " )
274+ XCTAssertEqual ( responses. first!. context as? URL , sampleFileURL)
273275 }
274276
275- func testMultiFileUploadWithFewFile ( ) {
277+ func testMultiFileUploadWithFewFiles ( ) {
276278 var hitCount = 0
277279 stubRegularMultipartRequest ( hitCount: & hitCount)
278280
@@ -285,19 +287,21 @@ class UploadTests: XCTestCase {
285287 deleteTemporaryFilesAfterUpload: false ,
286288 storeOptions: defaultStoreOptions)
287289
288- let uploader = client. upload ( using: [ sampleFileURL, sampleFileURL ] , options: uploadOptions) { resp in
290+ let uploader = client. upload ( using: [ sampleFileURL, largeFileURL ] , options: uploadOptions) { resp in
289291 responses = resp
290292 expectation. fulfill ( )
291293 }
292294
293295 waitForExpectations ( timeout: 15 , handler: nil )
294296
295- XCTAssertEqual ( uploader. progress. totalUnitCount, Int64 ( sampleFileSize * 2 ) )
296- XCTAssertEqual ( uploader. progress. completedUnitCount, Int64 ( sampleFileSize * 2 ) )
297+ XCTAssertEqual ( uploader. progress. totalUnitCount, Int64 ( sampleFileSize + largeFileSize ) )
298+ XCTAssertEqual ( uploader. progress. completedUnitCount, Int64 ( sampleFileSize + largeFileSize ) )
297299 XCTAssertEqual ( uploader. progress. fileTotalCount, 2 )
298300 XCTAssertEqual ( uploader. progress. fileCompletedCount, 2 )
299301
300302 XCTAssertEqual ( responses. count, 2 )
303+ XCTAssertEqual ( responses [ 0 ] . context as? URL , sampleFileURL)
304+ XCTAssertEqual ( responses [ 1 ] . context as? URL , largeFileURL)
301305 }
302306
303307 func testMultiFileUploadWithoutAutostart( ) {
@@ -318,17 +322,19 @@ class UploadTests: XCTestCase {
318322 expectation. fulfill ( )
319323 }
320324
321- uploader. add ( uploadables: [ sampleFileURL, sampleFileURL ] )
325+ uploader. add ( uploadables: [ sampleFileURL, largeFileURL ] )
322326 uploader. start ( )
323327
324328 waitForExpectations ( timeout: 15 , handler: nil )
325329
326- XCTAssertEqual ( uploader. progress. totalUnitCount, Int64 ( sampleFileSize * 2 ) )
327- XCTAssertEqual ( uploader. progress. completedUnitCount, Int64 ( sampleFileSize * 2 ) )
330+ XCTAssertEqual ( uploader. progress. totalUnitCount, Int64 ( sampleFileSize + largeFileSize ) )
331+ XCTAssertEqual ( uploader. progress. completedUnitCount, Int64 ( sampleFileSize + largeFileSize ) )
328332 XCTAssertEqual ( uploader. progress. fileTotalCount, 2 )
329333 XCTAssertEqual ( uploader. progress. fileCompletedCount, 2 )
330334
331335 XCTAssertEqual ( responses. count, 2 )
336+ XCTAssertEqual ( responses [ 0 ] . context as? URL , sampleFileURL)
337+ XCTAssertEqual ( responses [ 1 ] . context as? URL , largeFileURL)
332338 }
333339}
334340
0 commit comments