提交 579d6f41 编写于 作者: E Eric Jensen 提交者: Christian Noon

Opened up several APIs on Result behind af namespace through AFExtension

上级 5ddf1aff
......@@ -26,32 +26,34 @@ import Foundation
public typealias AFResult<T> = Result<T, Error>
extension AFResult {
// MARK: AFExtension
extension Result {
/// Type that acts as a extension point for all `Result` types.
public struct AFExtension {
let result: Result<Success, Failure>
}
public static var af: AFExtension.Type { return AFExtension.self }
public var af: AFExtension { return AFExtension(result: self) }
}
// MARK: - Public APIs
extension Result.AFExtension {
/// Returns the associated value if the result is a success, `nil` otherwise.
var value: Success? {
guard case .success(let value) = self else { return nil }
public var value: Success? {
guard case .success(let value) = result else { return nil }
return value
}
/// Returns the associated error value if the result is a failure, `nil` otherwise.
var error: Error? {
guard case .failure(let error) = self else { return nil }
public var error: Error? {
guard case .failure(let error) = result else { return nil }
return error
}
/// Initializes an `AFResult` from value or error. Returns `.failure` if the error is non-nil, `.success` otherwise.
///
/// - Parameters:
/// - value: A value.
/// - error: An `Error`.
init(value: Success, error: Failure?) {
if let error = error {
self = .failure(error)
} else {
self = .success(value)
}
}
/// Evaluates the specified closure when the `AFResult` is a success, passing the unwrapped value as a parameter.
///
/// Use the `flatMap` method with a closure that may throw an error. For example:
......@@ -66,7 +68,7 @@ extension AFResult {
/// - returns: An `AFResult` containing the result of the given closure. If this instance is a failure, returns the
/// same failure.
func flatMap<T>(_ transform: (Success) throws -> T) -> AFResult<T> {
switch self {
switch result {
case .success(let value):
do {
return try .success(transform(value))
......@@ -92,7 +94,7 @@ extension AFResult {
/// - Returns: An `AFResult` instance containing the result of the transform. If this instance is a success, returns
/// the same success.
func flatMapError<T: Error>(_ transform: (Failure) throws -> T) -> AFResult<Success> {
switch self {
switch result {
case .failure(let error):
do {
return try .failure(transform(error))
......@@ -104,3 +106,20 @@ extension AFResult {
}
}
}
// MARK: - Internal APIs
extension AFResult {
/// Initializes an `AFResult` from value or error. Returns `.failure` if the error is non-nil, `.success` otherwise.
///
/// - Parameters:
/// - value: A value.
/// - error: An `Error`.
init(value: Success, error: Failure?) {
if let error = error {
self = .failure(error)
} else {
self = .success(value)
}
}
}
......@@ -45,10 +45,10 @@ public struct DataResponse<Value> {
public let result: AFResult<Value>
/// Returns the associated value of the result if it is a success, `nil` otherwise.
public var value: Value? { return result.value }
public var value: Value? { return result.af.value }
/// Returns the associated error value if the result if it is a failure, `nil` otherwise.
public var error: Error? { return result.error }
public var error: Error? { return result.af.error }
/// Creates a `DataResponse` instance with the specified parameters derviced from the response serialization.
///
......@@ -158,7 +158,7 @@ extension DataResponse {
data: data,
metrics: metrics,
serializationDuration: serializationDuration,
result: result.flatMap(transform))
result: result.af.flatMap(transform))
}
/// Evaluates the specified closure when the `DataResponse` is a failure, passing the unwrapped error as a parameter.
......@@ -197,7 +197,7 @@ extension DataResponse {
data: data,
metrics: metrics,
serializationDuration: serializationDuration,
result: result.flatMapError(transform))
result: result.af.flatMapError(transform))
}
}
......@@ -227,10 +227,10 @@ public struct DownloadResponse<Value> {
public let result: AFResult<Value>
/// Returns the associated value of the result if it is a success, `nil` otherwise.
public var value: Value? { return result.value }
public var value: Value? { return result.af.value }
/// Returns the associated error value if the result if it is a failure, `nil` otherwise.
public var error: Error? { return result.error }
public var error: Error? { return result.af.error }
/// Creates a `DownloadResponse` instance with the specified parameters derived from response serialization.
///
......@@ -351,7 +351,7 @@ extension DownloadResponse {
resumeData: resumeData,
metrics: metrics,
serializationDuration: serializationDuration,
result: result.flatMap(transform)
result: result.af.flatMap(transform)
)
}
......@@ -396,7 +396,7 @@ extension DownloadResponse {
resumeData: resumeData,
metrics: metrics,
serializationDuration: serializationDuration,
result: result.flatMapError(transform)
result: result.af.flatMapError(transform)
)
}
}
......@@ -157,7 +157,7 @@ extension DataRequest {
self.eventMonitor?.request(self, didParseResponse: response)
guard let serializerError = result.error, let delegate = self.delegate else {
guard let serializerError = result.af.error, let delegate = self.delegate else {
self.responseSerializerDidComplete { queue.async { completionHandler(response) } }
return
}
......@@ -257,7 +257,7 @@ extension DownloadRequest {
serializationDuration: (end - start),
result: result)
guard let serializerError = result.error, let delegate = self.delegate else {
guard let serializerError = result.af.error, let delegate = self.delegate else {
self.responseSerializerDidComplete { queue.async { completionHandler(response) } }
return
}
......
......@@ -520,9 +520,9 @@ extension Session: RequestDelegate {
return
}
retrier.retry(request, for: self, dueTo: error) { result in
retrier.retry(request, for: self, dueTo: error) { retryResult in
self.rootQueue.async {
guard let retryResultError = result.error else { completion(result); return }
guard let retryResultError = retryResult.error else { completion(retryResult); return }
let retryError = AFError.requestRetryFailed(retryError: retryResultError, originalError: error)
completion(.doNotRetryWithError(retryError))
......
......@@ -22,12 +22,12 @@
// THE SOFTWARE.
//
import Alamofire
@testable import Alamofire
import Foundation
extension AFResult {
extension Result.AFExtension {
var isSuccess: Bool {
guard case .success = self else { return false }
guard case .success = result else { return false }
return true
}
......
......@@ -36,7 +36,7 @@ class AFResultTestCase: BaseTestCase {
let result = AFResult<String>.success("success")
// Then
XCTAssertEqual(result.value ?? "", "success", "result value should match expected value")
XCTAssertEqual(result.af.value ?? "", "success", "result value should match expected value")
}
func testThatValuePropertyReturnsNilForFailureCase() {
......@@ -44,7 +44,7 @@ class AFResultTestCase: BaseTestCase {
let result = AFResult<String>.failure(error)
// Then
XCTAssertNil(result.value, "result value should be nil for failure case")
XCTAssertNil(result.af.value, "result value should be nil for failure case")
}
// MARK: - Error Tests
......@@ -54,7 +54,7 @@ class AFResultTestCase: BaseTestCase {
let result = AFResult<String>.success("success")
// Then
XCTAssertNil(result.error, "result error should be nil for success case")
XCTAssertNil(result.af.error, "result error should be nil for success case")
}
func testThatErrorPropertyReturnsErrorForFailureCase() {
......@@ -62,7 +62,7 @@ class AFResultTestCase: BaseTestCase {
let result = AFResult<String>.failure(error)
// Then
XCTAssertNotNil(result.error, "result error should not be nil for failure case")
XCTAssertNotNil(result.af.error, "result error should not be nil for failure case")
}
// MARK: - Initializer Tests
......@@ -77,8 +77,8 @@ class AFResultTestCase: BaseTestCase {
// Then
for result in [result1, result2] {
XCTAssertTrue(result.isSuccess)
XCTAssertEqual(result.value, value)
XCTAssertTrue(result.af.isSuccess)
XCTAssertEqual(result.af.value, value)
}
}
......@@ -92,8 +92,8 @@ class AFResultTestCase: BaseTestCase {
// Then
for result in [result1, result2] {
XCTAssertTrue(result.isFailure)
XCTAssertTrue(result.error! is ResultError)
XCTAssertTrue(result.af.isFailure)
XCTAssertTrue(result.af.error! is ResultError)
}
}
......@@ -107,7 +107,7 @@ class AFResultTestCase: BaseTestCase {
let mappedResult = result.map { $0.count }
// Then
XCTAssertEqual(mappedResult.value, 13)
XCTAssertEqual(mappedResult.af.value, 13)
}
func testThatFlatMapCatchesTransformationError() {
......@@ -116,10 +116,10 @@ class AFResultTestCase: BaseTestCase {
let result = AFResult<String>.success("success value")
// When
let mappedResult = result.flatMap { _ in throw TransformError() }
let mappedResult = result.af.flatMap { _ in throw TransformError() }
// Then
if let error = mappedResult.error {
if let error = mappedResult.af.error {
XCTAssertTrue(error is TransformError)
} else {
XCTFail("flatMap should catch the transformation error")
......@@ -133,10 +133,10 @@ class AFResultTestCase: BaseTestCase {
let result = AFResult<String>.failure(ResultError())
// When
let mappedResult = result.flatMap { _ in throw TransformError() }
let mappedResult = result.af.flatMap { _ in throw TransformError() }
// Then
if let error = mappedResult.error {
if let error = mappedResult.af.error {
XCTAssertTrue(error is ResultError)
} else {
XCTFail("flatMap should preserve the failure error")
......@@ -152,10 +152,10 @@ class AFResultTestCase: BaseTestCase {
let result: AFResult<String> = .failure(ResultError())
// When
let mappedResult = result.flatMapError { OtherError(error: $0) }
let mappedResult = result.af.flatMapError { OtherError(error: $0) }
// Then
if let error = mappedResult.error {
if let error = mappedResult.af.error {
XCTAssertTrue(error is OtherError)
} else {
XCTFail("flatMapError should transform error value")
......@@ -173,10 +173,10 @@ class AFResultTestCase: BaseTestCase {
let result: AFResult<String> = .failure(ResultError())
// When
let mappedResult = result.flatMapError { try OtherError(error: $0) }
let mappedResult = result.af.flatMapError { try OtherError(error: $0) }
// Then
if let error = mappedResult.error {
if let error = mappedResult.af.error {
XCTAssertTrue(error is ThrownError)
} else {
XCTFail("flatMapError should capture thrown error value")
......
......@@ -50,7 +50,7 @@ final class CachedResponseHandlerTestCase: BaseTestCase {
waitForExpectations(timeout: timeout, handler: nil)
// Then
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertTrue(session.cachedResponseExists(for: request))
}
......@@ -70,7 +70,7 @@ final class CachedResponseHandlerTestCase: BaseTestCase {
waitForExpectations(timeout: timeout, handler: nil)
// Then
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertFalse(session.cachedResponseExists(for: request))
}
......@@ -101,7 +101,7 @@ final class CachedResponseHandlerTestCase: BaseTestCase {
waitForExpectations(timeout: timeout, handler: nil)
// Then
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertTrue(session.cachedResponseExists(for: request))
XCTAssertEqual(session.cachedResponse(for: request)?.userInfo?["key"] as? String, "value")
}
......@@ -124,7 +124,7 @@ final class CachedResponseHandlerTestCase: BaseTestCase {
waitForExpectations(timeout: timeout, handler: nil)
// Then
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertTrue(session.cachedResponseExists(for: request))
}
......@@ -144,7 +144,7 @@ final class CachedResponseHandlerTestCase: BaseTestCase {
waitForExpectations(timeout: timeout, handler: nil)
// Then
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertFalse(session.cachedResponseExists(for: request))
}
......@@ -175,7 +175,7 @@ final class CachedResponseHandlerTestCase: BaseTestCase {
waitForExpectations(timeout: timeout, handler: nil)
// Then
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertTrue(session.cachedResponseExists(for: request))
XCTAssertEqual(session.cachedResponse(for: request)?.userInfo?["key"] as? String, "value")
}
......@@ -198,7 +198,7 @@ final class CachedResponseHandlerTestCase: BaseTestCase {
waitForExpectations(timeout: timeout, handler: nil)
// Then
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertFalse(session.cachedResponseExists(for: request))
}
......
......@@ -22,7 +22,7 @@
// THE SOFTWARE.
//
@testable import Alamofire
import Alamofire
import Foundation
import XCTest
......@@ -450,8 +450,8 @@ class DownloadResumeDataTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNotNil(response?.response)
XCTAssertNil(response?.fileURL)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertNotNil(response?.result.error)
XCTAssertEqual(response?.result.af.isFailure, true)
XCTAssertNotNil(response?.result.af.error)
XCTAssertNotNil(response?.resumeData)
XCTAssertNotNil(download.resumeData)
......@@ -510,13 +510,13 @@ class DownloadResumeDataTestCase: BaseTestCase {
XCTAssertNotNil(response1?.request)
XCTAssertNotNil(response1?.response)
XCTAssertNil(response1?.fileURL)
XCTAssertEqual(response1?.result.isFailure, true)
XCTAssertNotNil(response1?.result.error)
XCTAssertEqual(response1?.result.af.isFailure, true)
XCTAssertNotNil(response1?.result.af.error)
XCTAssertNotNil(response2?.response)
XCTAssertNotNil(response2?.fileURL)
XCTAssertEqual(response2?.result.isSuccess, true)
XCTAssertNil(response2?.result.error)
XCTAssertEqual(response2?.result.af.isSuccess, true)
XCTAssertNil(response2?.result.af.error)
progressValues.forEach { XCTAssertGreaterThanOrEqual($0, 0.4) }
}
......@@ -550,7 +550,7 @@ class DownloadResponseMapTestCase: BaseTestCase {
XCTAssertNotNil(response?.fileURL)
XCTAssertNil(response?.resumeData)
XCTAssertNil(response?.error)
XCTAssertEqual(response?.result.value, "bar")
XCTAssertEqual(response?.result.af.value, "bar")
XCTAssertNotNil(response?.metrics)
}
......@@ -575,7 +575,7 @@ class DownloadResponseMapTestCase: BaseTestCase {
XCTAssertNil(response?.fileURL)
XCTAssertNil(response?.resumeData)
XCTAssertNotNil(response?.error)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
XCTAssertNotNil(response?.metrics)
}
}
......@@ -608,7 +608,7 @@ class DownloadResponseFlatMapTestCase: BaseTestCase {
XCTAssertNotNil(response?.fileURL)
XCTAssertNil(response?.resumeData)
XCTAssertNil(response?.error)
XCTAssertEqual(response?.result.value, "bar")
XCTAssertEqual(response?.result.af.value, "bar")
XCTAssertNotNil(response?.metrics)
}
......@@ -637,7 +637,7 @@ class DownloadResponseFlatMapTestCase: BaseTestCase {
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.fileURL)
XCTAssertNil(response?.resumeData)
if let error = response?.result.error {
if let error = response?.result.af.error {
XCTAssertTrue(error is TransformError)
} else {
XCTFail("flatMap should catch the transformation error")
......@@ -667,7 +667,7 @@ class DownloadResponseFlatMapTestCase: BaseTestCase {
XCTAssertNil(response?.fileURL)
XCTAssertNil(response?.resumeData)
XCTAssertNotNil(response?.error)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
XCTAssertNotNil(response?.metrics)
}
}
......@@ -697,7 +697,7 @@ class DownloadResponseMapErrorTestCase: BaseTestCase {
XCTAssertNil(response?.fileURL)
XCTAssertNil(response?.resumeData)
XCTAssertNotNil(response?.error)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
guard let error = response?.error as? TestError, case .error = error else { XCTFail(); return }
......@@ -724,7 +724,7 @@ class DownloadResponseMapErrorTestCase: BaseTestCase {
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.fileURL)
XCTAssertNil(response?.resumeData)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertNotNil(response?.metrics)
}
}
......@@ -753,7 +753,7 @@ class DownloadResponseFlatMapErrorTestCase: BaseTestCase {
XCTAssertNotNil(response?.fileURL)
XCTAssertNil(response?.resumeData)
XCTAssertNil(response?.error)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertNotNil(response?.metrics)
}
......@@ -778,9 +778,9 @@ class DownloadResponseFlatMapErrorTestCase: BaseTestCase {
XCTAssertNil(response?.fileURL)
XCTAssertNil(response?.resumeData)
XCTAssertNotNil(response?.error)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
if let error = response?.result.error {
if let error = response?.result.af.error {
XCTAssertTrue(error is TransformationError)
} else {
XCTFail("flatMapError should catch the transformation error")
......@@ -810,7 +810,7 @@ class DownloadResponseFlatMapErrorTestCase: BaseTestCase {
XCTAssertNil(response?.fileURL)
XCTAssertNil(response?.resumeData)
XCTAssertNotNil(response?.error)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
guard let error = response?.error as? TestError, case .error = error else { XCTFail(); return }
XCTAssertNotNil(response?.metrics)
......
......@@ -22,7 +22,7 @@
// THE SOFTWARE.
//
@testable import Alamofire
import Alamofire
import XCTest
final class JSONParameterEncoderTests: BaseTestCase {
......@@ -189,7 +189,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertTrue(result.isFailure)
XCTAssertTrue(result.af.isFailure)
}
func testEncoderThrowsErrorWhenAttemptingToEncodeNilInUnkeyedContainer() {
......@@ -201,7 +201,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertTrue(result.isFailure)
XCTAssertTrue(result.af.isFailure)
}
func testEncoderCanEncodeDictionary() {
......@@ -213,7 +213,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a=a")
XCTAssertEqual(result.af.value, "a=a")
}
func testEncoderCanEncodeDouble() {
......@@ -225,7 +225,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a=1.0")
XCTAssertEqual(result.af.value, "a=1.0")
}
func testEncoderCanEncodeFloat() {
......@@ -237,7 +237,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a=1.0")
XCTAssertEqual(result.af.value, "a=1.0")
}
func testEncoderCanEncodeInt8() {
......@@ -249,7 +249,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a=1")
XCTAssertEqual(result.af.value, "a=1")
}
func testEncoderCanEncodeInt16() {
......@@ -261,7 +261,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a=1")
XCTAssertEqual(result.af.value, "a=1")
}
func testEncoderCanEncodeInt32() {
......@@ -273,7 +273,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a=1")
XCTAssertEqual(result.af.value, "a=1")
}
func testEncoderCanEncodeInt64() {
......@@ -285,7 +285,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a=1")
XCTAssertEqual(result.af.value, "a=1")
}
func testEncoderCanEncodeUInt() {
......@@ -297,7 +297,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a=1")
XCTAssertEqual(result.af.value, "a=1")
}
func testEncoderCanEncodeUInt8() {
......@@ -309,7 +309,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a=1")
XCTAssertEqual(result.af.value, "a=1")
}
func testEncoderCanEncodeUInt16() {
......@@ -321,7 +321,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a=1")
XCTAssertEqual(result.af.value, "a=1")
}
func testEncoderCanEncodeUInt32() {
......@@ -333,7 +333,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a=1")
XCTAssertEqual(result.af.value, "a=1")
}
func testEncoderCanEncodeUInt64() {
......@@ -345,7 +345,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a=1")
XCTAssertEqual(result.af.value, "a=1")
}
func testThatNestedDictionariesHaveBracketedKeys() {
......@@ -357,7 +357,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "a%5Bb%5D=b")
XCTAssertEqual(result.af.value, "a%5Bb%5D=b")
}
func testThatEncodableStructCanBeEncoded() {
......@@ -370,7 +370,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
// Then
let expected = "four%5B%5D=1&four%5B%5D=2&four%5B%5D=3&three=1&one=one&two=2&five%5Ba%5D=a&six%5Ba%5D%5Bb%5D=b&seven%5Ba%5D=a"
XCTAssertQueryEqual(result.value, expected)
XCTAssertQueryEqual(result.af.value, expected)
}
func testThatManuallyEncodableStructCanBeEncoded() {
......@@ -383,7 +383,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
// Then
let expected = "root%5B%5D%5B%5D=1&root%5B%5D%5B%5D=2&root%5B%5D%5B%5D=3&root%5B%5D%5Ba%5D%5Bstring%5D=string&root%5B%5D%5B%5D%5B%5D=1&root%5B%5D%5B%5D%5B%5D=2&root%5B%5D%5B%5D%5B%5D=3"
XCTAssertQueryEqual(result.value, expected)
XCTAssertQueryEqual(result.af.value, expected)
}
func testThatEncodableClassWithNoInheritanceCanBeEncoded() {
......@@ -395,7 +395,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertQueryEqual(result.value, "two=2&one=one&three=1")
XCTAssertQueryEqual(result.af.value, "two=2&one=one&three=1")
}
func testThatEncodableSubclassCanBeEncoded() {
......@@ -408,7 +408,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
// Then
let expected = "four%5B%5D=1&four%5B%5D=2&four%5B%5D=3&two=2&five%5Ba%5D=a&five%5Bb%5D=b&three=1&one=one"
XCTAssertQueryEqual(result.value, expected)
XCTAssertQueryEqual(result.af.value, expected)
}
func testThatManuallyEncodableSubclassCanBeEncoded() {
......@@ -421,7 +421,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
// Then
let expected = "five%5Ba%5D=a&five%5Bb%5D=b&four%5Bfour%5D=one&four%5Bfive%5D=2"
XCTAssertQueryEqual(result.value, expected)
XCTAssertQueryEqual(result.af.value, expected)
}
func testThatARootArrayCannotBeEncoded() {
......@@ -433,7 +433,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertFalse(result.isSuccess)
XCTAssertFalse(result.af.isSuccess)
}
func testThatARootValueCannotBeEncoded() {
......@@ -445,7 +445,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertFalse(result.isSuccess)
XCTAssertFalse(result.af.isSuccess)
}
func testThatOptionalValuesCannotBeEncoded() {
......@@ -457,7 +457,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertFalse(result.isSuccess)
XCTAssertFalse(result.af.isSuccess)
}
func testThatBoolsCanBeLiteralEncoded() {
......@@ -469,7 +469,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "bool=true")
XCTAssertEqual(result.af.value, "bool=true")
}
func testThatArraysCanBeEncodedWithoutBrackets() {
......@@ -481,7 +481,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertQueryEqual(result.value, "array=1&array=2")
XCTAssertQueryEqual(result.af.value, "array=1&array=2")
}
func testThatSpacesCanBeEncodedAsPluses() {
......@@ -493,7 +493,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "spaces=replace+with+spaces")
XCTAssertEqual(result.af.value, "spaces=replace+with+spaces")
}
func testThatEscapedCharactersCanBeCustomized() {
......@@ -507,7 +507,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "allowed=%3F%2F")
XCTAssertEqual(result.af.value, "allowed=%3F%2F")
}
func testThatUnreservedCharactersAreNotPercentEscaped() {
......@@ -521,7 +521,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertQueryEqual(result.value,
XCTAssertQueryEqual(result.af.value,
"uppercase=ABCDEFGHIJKLMNOPQRSTUVWXYZ&numbers=0123456789&lowercase=abcdefghijklmnopqrstuvwxyz")
}
......@@ -536,7 +536,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "reserved=%3A%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D")
XCTAssertEqual(result.af.value, "reserved=%3A%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D")
}
func testThatIllegalASCIICharactersArePercentEscaped() {
......@@ -548,7 +548,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "illegal=%20%22%23%25%3C%3E%5B%5D%5C%5E%60%7B%7D%7C")
XCTAssertEqual(result.af.value, "illegal=%20%22%23%25%3C%3E%5B%5D%5C%5E%60%7B%7D%7C")
}
func testThatAmpersandsInKeysAndValuesArePercentEscaped() {
......@@ -560,7 +560,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertQueryEqual(result.value, "foobar=bazqux&foo%26bar=baz%26qux")
XCTAssertQueryEqual(result.af.value, "foobar=bazqux&foo%26bar=baz%26qux")
}
func testThatQuestionMarksInKeysAndValuesAreNotPercentEscaped() {
......@@ -572,7 +572,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "?foo?=?bar?")
XCTAssertEqual(result.af.value, "?foo?=?bar?")
}
func testThatSlashesInKeysAndValuesAreNotPercentEscaped() {
......@@ -584,7 +584,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "foo=/bar/baz/qux")
XCTAssertEqual(result.af.value, "foo=/bar/baz/qux")
}
func testThatSpacesInKeysAndValuesArePercentEscaped() {
......@@ -596,7 +596,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "%20foo%20=%20bar%20")
XCTAssertEqual(result.af.value, "%20foo%20=%20bar%20")
}
func testThatPlusesInKeysAndValuesArePercentEscaped() {
......@@ -608,7 +608,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "%2Bfoo%2B=%2Bbar%2B")
XCTAssertEqual(result.af.value, "%2Bfoo%2B=%2Bbar%2B")
}
func testThatPercentsInKeysAndValuesArePercentEscaped() {
......@@ -620,7 +620,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let result = AFResult<String> { try encoder.encode(parameters) }
// Then
XCTAssertEqual(result.value, "percent%25=%2525")
XCTAssertEqual(result.af.value, "percent%25=%2525")
}
func testThatNonLatinCharactersArePercentEscaped() {
......@@ -643,7 +643,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
"french=fran%C3%A7ais",
"emoji=%F0%9F%98%83"
].joined(separator: "&")
XCTAssertQueryEqual(result.value, expectedParameterValues)
XCTAssertQueryEqual(result.af.value, expectedParameterValues)
}
func testStringWithThousandsOfChineseCharactersIsPercentEscaped() {
......@@ -659,7 +659,7 @@ final class URLEncodedFormEncoderTests: BaseTestCase {
let escaped = String(repeating: "%E4%B8%80%E4%BA%8C%E4%B8%89%E5%9B%9B%E4%BA%94%E5%85%AD%E4%B8%83%E5%85%AB%E4%B9%9D%E5%8D%81",
count: repeatedCount)
let expected = "chinese=\(escaped)"
XCTAssertEqual(result.value, expected)
XCTAssertEqual(result.af.value, expected)
}
}
......
......@@ -96,7 +96,7 @@ final class AdapterTestCase: BaseTestCase {
// Then
XCTAssertTrue(adapted)
XCTAssertTrue(result.isSuccess)
XCTAssertTrue(result.af.isSuccess)
}
func testThatAdapterCallsRequestRetrierDefaultImplementationInProtocolExtension() {
......@@ -145,7 +145,7 @@ final class AdapterTestCase: BaseTestCase {
// Then
XCTAssertTrue(adapted)
XCTAssertTrue(result.isSuccess)
XCTAssertTrue(result.af.isSuccess)
}
}
......@@ -189,7 +189,7 @@ final class RetrierTestCase: BaseTestCase {
retrier.adapt(urlRequest, for: session) { result = $0 }
// Then
XCTAssertTrue(result.isSuccess)
XCTAssertTrue(result.af.isSuccess)
}
func testThatRetrierCanBeImplementedAsynchronously() {
......@@ -278,8 +278,8 @@ final class InterceptorTestCase: BaseTestCase {
interceptor.adapt(urlRequest, for: session) { result = $0 }
// Then
XCTAssertTrue(result.isSuccess)
XCTAssertEqual(result.value, urlRequest)
XCTAssertTrue(result.af.isSuccess)
XCTAssertEqual(result.af.value, urlRequest)
}
func testThatInterceptorCanAdaptRequestWithOneAdapter() {
......@@ -296,8 +296,8 @@ final class InterceptorTestCase: BaseTestCase {
interceptor.adapt(urlRequest, for: session) { result = $0 }
// Then
XCTAssertTrue(result.isFailure)
XCTAssertTrue(result.error is MockError)
XCTAssertTrue(result.af.isFailure)
XCTAssertTrue(result.af.error is MockError)
}
func testThatInterceptorCanAdaptRequestWithMultipleAdapters() {
......@@ -315,8 +315,8 @@ final class InterceptorTestCase: BaseTestCase {
interceptor.adapt(urlRequest, for: session) { result = $0 }
// Then
XCTAssertTrue(result.isFailure)
XCTAssertTrue(result.error is MockError)
XCTAssertTrue(result.af.isFailure)
XCTAssertTrue(result.af.error is MockError)
}
func testThatInterceptorCanAdaptRequestAsynchronously() {
......@@ -344,8 +344,8 @@ final class InterceptorTestCase: BaseTestCase {
waitForExpectations(timeout: timeout)
// Then
XCTAssertTrue(result.isFailure)
XCTAssertTrue(result.error is MockError)
XCTAssertTrue(result.af.isFailure)
XCTAssertTrue(result.af.error is MockError)
}
func testThatInterceptorCanRetryRequestWithNoRetriers() {
......
......@@ -22,7 +22,7 @@
// THE SOFTWARE.
//
@testable import Alamofire
import Alamofire
import Foundation
import XCTest
......@@ -121,7 +121,7 @@ class RequestResponseTestCase: BaseTestCase {
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
if let json = response?.result.value as? [String: Any], let form = json["form"] as? [String: String] {
if let json = response?.result.af.value as? [String: Any], let form = json["form"] as? [String: String] {
XCTAssertEqual(form["french"], parameters["french"])
XCTAssertEqual(form["japanese"], parameters["japanese"])
XCTAssertEqual(form["arabic"], parameters["arabic"])
......@@ -172,9 +172,9 @@ class RequestResponseTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
if let json = response?.result.value as? [String: Any], let form = json["form"] as? [String: String] {
if let json = response?.result.af.value as? [String: Any], let form = json["form"] as? [String: String] {
XCTAssertEqual(form["email"], parameters["email"])
XCTAssertEqual(form["png_image"], parameters["png_image"])
XCTAssertEqual(form["jpeg_image"], parameters["jpeg_image"])
......@@ -201,7 +201,7 @@ class RequestResponseTestCase: BaseTestCase {
waitForExpectations(timeout: timeout, handler: nil)
// Then
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
}
// MARK: Encodable Parameters
......@@ -222,7 +222,7 @@ class RequestResponseTestCase: BaseTestCase {
waitForExpectations(timeout: timeout, handler: nil)
// Then
XCTAssertEqual(receivedResponse?.result.value?.data, "{\"property\":\"one\"}")
XCTAssertEqual(receivedResponse?.result.af.value?.data, "{\"property\":\"one\"}")
}
func testThatRequestsCanPassEncodableParametersAsAURLQuery() {
......@@ -241,7 +241,7 @@ class RequestResponseTestCase: BaseTestCase {
waitForExpectations(timeout: timeout, handler: nil)
// Then
XCTAssertEqual(receivedResponse?.result.value?.args, ["property": "one"])
XCTAssertEqual(receivedResponse?.result.af.value?.args, ["property": "one"])
}
func testThatRequestsCanPassEncodableParametersAsURLEncodedBodyData() {
......@@ -260,7 +260,7 @@ class RequestResponseTestCase: BaseTestCase {
waitForExpectations(timeout: timeout, handler: nil)
// Then
XCTAssertEqual(receivedResponse?.result.value?.form, ["property": "one"])
XCTAssertEqual(receivedResponse?.result.af.value?.form, ["property": "one"])
}
}
......
......@@ -22,7 +22,7 @@
// THE SOFTWARE.
//
@testable import Alamofire
import Alamofire
import Foundation
import XCTest
......@@ -97,7 +97,7 @@ class ResponseDataTestCase: BaseTestCase {
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
XCTAssertNotNil(response?.data)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertNotNil(response?.metrics)
}
......@@ -120,7 +120,7 @@ class ResponseDataTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNil(response?.response)
XCTAssertNil(response?.data)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
XCTAssertNotNil(response?.metrics)
}
}
......@@ -148,7 +148,7 @@ class ResponseStringTestCase: BaseTestCase {
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
XCTAssertNotNil(response?.data)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertNotNil(response?.metrics)
}
......@@ -171,7 +171,7 @@ class ResponseStringTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNil(response?.response)
XCTAssertNil(response?.data)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
XCTAssertNotNil(response?.metrics)
}
}
......@@ -199,7 +199,7 @@ class ResponseJSONTestCase: BaseTestCase {
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
XCTAssertNotNil(response?.data)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertNotNil(response?.metrics)
}
......@@ -222,7 +222,7 @@ class ResponseJSONTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNil(response?.response)
XCTAssertNil(response?.data)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
XCTAssertNotNil(response?.metrics)
}
......@@ -246,11 +246,11 @@ class ResponseJSONTestCase: BaseTestCase {
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
XCTAssertNotNil(response?.data)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertNotNil(response?.metrics)
if
let responseDictionary = response?.result.value as? [String: Any],
let responseDictionary = response?.result.af.value as? [String: Any],
let args = responseDictionary["args"] as? [String: String]
{
XCTAssertEqual(args, ["foo": "bar"], "args should match parameters")
......@@ -279,11 +279,11 @@ class ResponseJSONTestCase: BaseTestCase {
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
XCTAssertNotNil(response?.data)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertNotNil(response?.metrics)
if
let responseDictionary = response?.result.value as? [String: Any],
let responseDictionary = response?.result.af.value as? [String: Any],
let form = responseDictionary["form"] as? [String: String]
{
XCTAssertEqual(form, ["foo": "bar"], "form should match parameters")
......@@ -313,8 +313,8 @@ class ResponseJSONDecodableTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.value?.url, "https://httpbin.org/get")
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertEqual(response?.result.af.value?.url, "https://httpbin.org/get")
XCTAssertNotNil(response?.metrics)
}
......@@ -337,7 +337,7 @@ class ResponseJSONDecodableTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNil(response?.response)
XCTAssertNil(response?.data)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
XCTAssertNotNil(response?.metrics)
}
}
......@@ -368,8 +368,8 @@ class ResponseMapTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.value, "bar")
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertEqual(response?.result.af.value, "bar")
XCTAssertNotNil(response?.metrics)
}
......@@ -392,7 +392,7 @@ class ResponseMapTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNil(response?.response)
XCTAssertNil(response?.data)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
XCTAssertNotNil(response?.metrics)
}
}
......@@ -423,8 +423,8 @@ class ResponseFlatMapTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.value, "bar")
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertEqual(response?.result.af.value, "bar")
XCTAssertNotNil(response?.metrics)
}
......@@ -452,9 +452,9 @@ class ResponseFlatMapTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
if let error = response?.result.error {
if let error = response?.result.af.error {
XCTAssertTrue(error is TransformError)
} else {
XCTFail("flatMap should catch the transformation error")
......@@ -482,7 +482,7 @@ class ResponseFlatMapTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNil(response?.response)
XCTAssertNil(response?.data)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
XCTAssertNotNil(response?.metrics)
}
}
......@@ -524,7 +524,7 @@ class ResponseMapErrorTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNil(response?.response)
XCTAssertNil(response?.data)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
guard let error = response?.error as? TestError, case .error = error else { XCTFail(); return }
XCTAssertNotNil(response?.metrics)
......@@ -549,7 +549,7 @@ class ResponseMapErrorTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertNotNil(response?.metrics)
}
}
......@@ -576,7 +576,7 @@ class ResponseFlatMapErrorTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNotNil(response?.response)
XCTAssertNotNil(response?.data)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertNotNil(response?.metrics)
}
......@@ -599,9 +599,9 @@ class ResponseFlatMapErrorTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNil(response?.response)
XCTAssertNil(response?.data)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
if let error = response?.result.error {
if let error = response?.result.af.error {
XCTAssertTrue(error is TransformationError)
} else {
XCTFail("flatMapError should catch the transformation error")
......@@ -629,7 +629,7 @@ class ResponseFlatMapErrorTestCase: BaseTestCase {
XCTAssertNotNil(response?.request)
XCTAssertNil(response?.response)
XCTAssertNil(response?.data)
XCTAssertEqual(response?.result.isFailure, true)
XCTAssertEqual(response?.result.af.isFailure, true)
guard let error = response?.error as? TestError, case .error = error else { XCTFail(); return }
......
......@@ -345,13 +345,13 @@ class SessionTestCase: BaseTestCase {
// Then
if #available(iOS 11.0, macOS 10.13, tvOS 11.0, watchOS 4.0, *) {
XCTAssertTrue(brotliResponse?.result.isSuccess == true)
XCTAssertTrue(brotliResponse?.result.af.isSuccess == true)
} else {
XCTAssertTrue(brotliResponse?.result.isFailure == true)
XCTAssertTrue(brotliResponse?.result.af.isFailure == true)
}
XCTAssertTrue(gzipResponse?.result.isSuccess == true)
XCTAssertTrue(deflateResponse?.result.isSuccess == true)
XCTAssertTrue(gzipResponse?.result.af.isSuccess == true)
XCTAssertTrue(deflateResponse?.result.af.isSuccess == true)
}
// MARK: Tests - Start Requests Immediately
......@@ -894,7 +894,7 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.retryCalledCount, 3)
XCTAssertEqual(handler.retryCount, 3)
XCTAssertEqual(request.retryCount, 1)
XCTAssertEqual(response?.result.isSuccess, false)
XCTAssertEqual(response?.result.af.isSuccess, false)
XCTAssertTrue(session.requestTaskMap.isEmpty)
}
......@@ -928,7 +928,7 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(requestHandler.retryCalledCount, 4)
XCTAssertEqual(requestHandler.retryCount, 4)
XCTAssertEqual(request.retryCount, 2)
XCTAssertEqual(response?.result.isSuccess, false)
XCTAssertEqual(response?.result.af.isSuccess, false)
XCTAssertTrue(session.requestTaskMap.isEmpty)
}
......@@ -959,7 +959,7 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.adaptedCount, 2)
XCTAssertEqual(handler.retryCalledCount, 1)
XCTAssertEqual(handler.retryCount, 1)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertTrue(session.requestTaskMap.isEmpty)
}
......@@ -995,7 +995,7 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.adaptedCount, 2)
XCTAssertEqual(handler.retryCalledCount, 1)
XCTAssertEqual(handler.retryCount, 1)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertTrue(session.requestTaskMap.isEmpty)
}
......@@ -1024,7 +1024,7 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.adaptedCount, 2)
XCTAssertEqual(handler.retryCalledCount, 1)
XCTAssertEqual(handler.retryCount, 1)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertTrue(session.requestTaskMap.isEmpty)
}
......@@ -1054,7 +1054,7 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.retryCalledCount, 1)
XCTAssertEqual(handler.retryCount, 1)
XCTAssertEqual(request.retryCount, 1)
XCTAssertEqual(response?.result.isSuccess, true)
XCTAssertEqual(response?.result.af.isSuccess, true)
XCTAssertTrue(session.requestTaskMap.isEmpty)
}
......@@ -1084,10 +1084,10 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.retryCalledCount, 3)
XCTAssertEqual(handler.retryCount, 3)
XCTAssertEqual(request.retryCount, 1)
XCTAssertEqual(response?.result.isSuccess, false)
XCTAssertEqual(response?.result.af.isSuccess, false)
XCTAssertTrue(session.requestTaskMap.isEmpty)
if let error = response?.result.error?.asAFError {
if let error = response?.result.af.error?.asAFError {
XCTAssertTrue(error.isRequestAdaptationError)
XCTAssertEqual(error.underlyingError?.asAFError?.urlConvertible as? String, "/adapt/error/2")
} else {
......@@ -1122,10 +1122,10 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.retryCalledCount, 3)
XCTAssertEqual(handler.retryCount, 3)
XCTAssertEqual(request.retryCount, 1)
XCTAssertEqual(response?.result.isSuccess, false)
XCTAssertEqual(response?.result.af.isSuccess, false)
XCTAssertTrue(session.requestTaskMap.isEmpty)
if let error = response?.result.error?.asAFError {
if let error = response?.result.af.error?.asAFError {
XCTAssertTrue(error.isRequestAdaptationError)
XCTAssertEqual(error.underlyingError?.asAFError?.urlConvertible as? String, "/adapt/error/2")
} else {
......@@ -1159,10 +1159,10 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.retryCalledCount, 2)
XCTAssertEqual(handler.retryCount, 0)
XCTAssertEqual(request.retryCount, 0)
XCTAssertEqual(response?.result.isSuccess, false)
XCTAssertEqual(response?.result.af.isSuccess, false)
XCTAssertTrue(session.requestTaskMap.isEmpty)
if let error = response?.result.error?.asAFError {
if let error = response?.result.af.error?.asAFError {
XCTAssertTrue(error.isRequestRetryError)
XCTAssertEqual(error.underlyingError?.asAFError?.urlConvertible as? String, "/invalid/url/2")
} else {
......@@ -1198,7 +1198,7 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.retryCalledCount, 1)
XCTAssertEqual(handler.retryCount, 0)
XCTAssertEqual(request.retryCount, 0)
XCTAssertEqual(response?.result.isSuccess, false)
XCTAssertEqual(response?.result.af.isSuccess, false)
XCTAssertTrue(session.requestTaskMap.isEmpty)
if let error = response?.error?.asAFError {
......@@ -1242,8 +1242,8 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.retryCalledCount, 2)
XCTAssertEqual(handler.retryCount, 0)
XCTAssertEqual(request.retryCount, 0)
XCTAssertEqual(json1Response?.result.isSuccess, false)
XCTAssertEqual(json2Response?.result.isSuccess, false)
XCTAssertEqual(json1Response?.result.af.isSuccess, false)
XCTAssertEqual(json2Response?.result.af.isSuccess, false)
XCTAssertTrue(session.requestTaskMap.isEmpty)
let errors: [AFError] = [json1Response, json2Response].compactMap { $0?.error?.asAFError }
......@@ -1293,8 +1293,8 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.retryCalledCount, 3)
XCTAssertEqual(handler.retryCount, 3)
XCTAssertEqual(request.retryCount, 1)
XCTAssertEqual(json1Response?.result.isSuccess, false)
XCTAssertEqual(json2Response?.result.isSuccess, false)
XCTAssertEqual(json1Response?.result.af.isSuccess, false)
XCTAssertEqual(json2Response?.result.af.isSuccess, false)
XCTAssertTrue(session.requestTaskMap.isEmpty)
let errors: [AFError] = [json1Response, json2Response].compactMap { $0?.error?.asAFError }
......@@ -1345,8 +1345,8 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.retryCalledCount, 4)
XCTAssertEqual(handler.retryCount, 4)
XCTAssertEqual(request.retryCount, 1)
XCTAssertEqual(json1Response?.result.isSuccess, false)
XCTAssertEqual(json2Response?.result.isSuccess, false)
XCTAssertEqual(json1Response?.result.af.isSuccess, false)
XCTAssertEqual(json2Response?.result.af.isSuccess, false)
XCTAssertTrue(session.requestTaskMap.isEmpty)
let errors: [AFError] = [json1Response, json2Response].compactMap { $0?.error?.asAFError }
......@@ -1397,8 +1397,8 @@ class SessionTestCase: BaseTestCase {
XCTAssertEqual(handler.retryCalledCount, 4)
XCTAssertEqual(handler.retryCount, 4)
XCTAssertEqual(request.retryCount, 1)
XCTAssertEqual(json1Response?.result.isSuccess, false)
XCTAssertEqual(json2Response?.result.isSuccess, false)
XCTAssertEqual(json1Response?.result.af.isSuccess, false)
XCTAssertEqual(json2Response?.result.af.isSuccess, false)
XCTAssertTrue(session.requestTaskMap.isEmpty)
let errors: [AFError] = [json1Response, json2Response].compactMap { $0?.error?.asAFError }
......@@ -1504,10 +1504,10 @@ class SessionManagerConfigurationHeadersTestCase: BaseTestCase {
XCTAssertNotNil(response.request, "request should not be nil")
XCTAssertNotNil(response.response, "response should not be nil")
XCTAssertNotNil(response.data, "data should not be nil")
XCTAssertTrue(response.result.isSuccess, "result should be a success")
XCTAssertTrue(response.result.af.isSuccess, "result should be a success")
if
let response = response.result.value as? [String: Any],
let response = response.result.af.value as? [String: Any],
let headers = response["headers"] as? [String: String],
let authorization = headers["Authorization"]
{
......
......@@ -22,7 +22,7 @@
// THE SOFTWARE.
//
@testable import Alamofire
import Alamofire
import Foundation
import XCTest
......@@ -406,7 +406,7 @@ class UploadMultipartFormDataTestCase: BaseTestCase {
return
}
XCTAssertTrue(response?.result.isSuccess == true)
XCTAssertTrue(response?.result.af.isSuccess == true)
}
func testThatUploadingMultipartFormDataBelowMemoryThresholdSetsContentTypeHeader() {
......@@ -479,7 +479,7 @@ class UploadMultipartFormDataTestCase: BaseTestCase {
return
}
XCTAssertTrue(response?.result.isSuccess == true)
XCTAssertTrue(response?.result.af.isSuccess == true)
XCTAssertFalse(FileManager.default.fileExists(atPath: url.path))
}
......@@ -512,7 +512,7 @@ class UploadMultipartFormDataTestCase: BaseTestCase {
return
}
XCTAssertTrue(response?.result.isSuccess == true)
XCTAssertTrue(response?.result.af.isSuccess == true)
if
let request = response?.request,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册