|
|
@@ -76,6 +76,7 @@ class BaseRetryPolicyTestCase: BaseTestCase {
|
|
|
lazy var unknownError = AFError.sessionTaskFailed(error: unknown)
|
|
|
|
|
|
let retryableStatusCodes: Set<Int> = [408, 500, 502, 503, 504]
|
|
|
+ let statusCodes = Set(100...599)
|
|
|
|
|
|
let retryableErrorCodes: Set<URLError.Code> = [.backgroundSessionInUseByAnotherProcess,
|
|
|
.backgroundSessionWasDisconnected,
|
|
|
@@ -130,6 +131,22 @@ class BaseRetryPolicyTestCase: BaseTestCase {
|
|
|
var errorCodes: Set<URLError.Code> {
|
|
|
retryableErrorCodes.union(nonRetryableErrorCodes)
|
|
|
}
|
|
|
+
|
|
|
+ // MARK: Test Helpers
|
|
|
+
|
|
|
+ func request(method: HTTPMethod = .get, statusCode: Int? = nil) -> Request {
|
|
|
+ var response: HTTPURLResponse?
|
|
|
+
|
|
|
+ if let statusCode = statusCode {
|
|
|
+ response = HTTPURLResponse(url: url, statusCode: statusCode, httpVersion: nil, headerFields: nil)
|
|
|
+ }
|
|
|
+
|
|
|
+ return StubRequest(url, method: method, response: response, session: session)
|
|
|
+ }
|
|
|
+
|
|
|
+ func urlError(with code: URLError.Code) -> URLError {
|
|
|
+ NSError(domain: URLError.errorDomain, code: code.rawValue, userInfo: nil) as! URLError
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// MARK: -
|
|
|
@@ -207,7 +224,6 @@ final class RetryPolicyTestCase: BaseRetryPolicyTestCase {
|
|
|
func testThatRetryPolicyRetriesRequestsWithRetryableStatusCodes() {
|
|
|
// Given
|
|
|
let retryPolicy = RetryPolicy()
|
|
|
- let statusCodes = Set(100...599)
|
|
|
var results: [Int: RetryResult] = [:]
|
|
|
|
|
|
// When
|
|
|
@@ -375,22 +391,6 @@ final class RetryPolicyTestCase: BaseRetryPolicyTestCase {
|
|
|
XCTAssertNil(results[4]?.error)
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- // MARK: Test Helpers
|
|
|
-
|
|
|
- func request(method: HTTPMethod = .get, statusCode: Int? = nil) -> Request {
|
|
|
- var response: HTTPURLResponse?
|
|
|
-
|
|
|
- if let statusCode = statusCode {
|
|
|
- response = HTTPURLResponse(url: url, statusCode: statusCode, httpVersion: nil, headerFields: nil)
|
|
|
- }
|
|
|
-
|
|
|
- return StubRequest(url, method: method, response: response, session: session)
|
|
|
- }
|
|
|
-
|
|
|
- func urlError(with code: URLError.Code) -> URLError {
|
|
|
- NSError(domain: URLError.errorDomain, code: code.rawValue, userInfo: nil) as! URLError
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
// MARK: -
|