Browse Source

Fix non-generic Error usage in RC1 (#2937)

* Fix mapError.

* Make test classes final.

* Fix flaky test.
Jon Shier 6 years ago
parent
commit
1846ee6fea

+ 7 - 0
Alamofire.xcodeproj/xcshareddata/xcschemes/Alamofire iOS.xcscheme

@@ -60,6 +60,13 @@
             isEnabled = "YES">
          </EnvironmentVariable>
       </EnvironmentVariables>
+      <AdditionalOptions>
+         <AdditionalOption
+            key = "NSZombieEnabled"
+            value = "YES"
+            isEnabled = "YES">
+         </AdditionalOption>
+      </AdditionalOptions>
       <CodeCoverageTargets>
          <BuildableReference
             BuildableIdentifier = "primary"

+ 7 - 0
Alamofire.xcodeproj/xcshareddata/xcschemes/Alamofire macOS.xcscheme

@@ -60,6 +60,13 @@
             isEnabled = "YES">
          </EnvironmentVariable>
       </EnvironmentVariables>
+      <AdditionalOptions>
+         <AdditionalOption
+            key = "NSZombieEnabled"
+            value = "YES"
+            isEnabled = "YES">
+         </AdditionalOption>
+      </AdditionalOptions>
       <CodeCoverageTargets>
          <BuildableReference
             BuildableIdentifier = "primary"

+ 7 - 0
Alamofire.xcodeproj/xcshareddata/xcschemes/Alamofire tvOS.xcscheme

@@ -60,6 +60,13 @@
             isEnabled = "YES">
          </EnvironmentVariable>
       </EnvironmentVariables>
+      <AdditionalOptions>
+         <AdditionalOption
+            key = "NSZombieEnabled"
+            value = "YES"
+            isEnabled = "YES">
+         </AdditionalOption>
+      </AdditionalOptions>
       <CodeCoverageTargets>
          <BuildableReference
             BuildableIdentifier = "primary"

+ 0 - 4
Alamofire.xcodeproj/xcshareddata/xcschemes/Alamofire watchOS.xcscheme

@@ -29,8 +29,6 @@
       shouldUseLaunchSchemeArgsEnv = "YES">
       <Testables>
       </Testables>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </TestAction>
    <LaunchAction
       buildConfiguration = "Debug"
@@ -51,8 +49,6 @@
             ReferencedContainer = "container:Alamofire.xcodeproj">
          </BuildableReference>
       </MacroExpansion>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </LaunchAction>
    <ProfileAction
       buildConfiguration = "Release"

+ 1 - 1
Source/Response.swift

@@ -176,7 +176,7 @@ extension DataResponse {
     /// - Parameter transform: A closure that takes the error of the instance.
     ///
     /// - Returns: A `DataResponse` instance containing the result of the transform.
-    public func mapError<NewFailure: Error>(_ transform: (Error) -> NewFailure) -> DataResponse<Success, NewFailure> {
+    public func mapError<NewFailure: Error>(_ transform: (Failure) -> NewFailure) -> DataResponse<Success, NewFailure> {
         return DataResponse<Success, NewFailure>(request: request,
                                                  response: response,
                                                  data: data,

+ 10 - 10
Tests/ResponseTests.swift

@@ -26,7 +26,7 @@ import Alamofire
 import Foundation
 import XCTest
 
-class ResponseTestCase: BaseTestCase {
+final class ResponseTestCase: BaseTestCase {
     func testThatResponseReturnsSuccessResultWithValidData() {
         // Given
         let urlString = "https://httpbin.org/get"
@@ -78,7 +78,7 @@ class ResponseTestCase: BaseTestCase {
 
 // MARK: -
 
-class ResponseDataTestCase: BaseTestCase {
+final class ResponseDataTestCase: BaseTestCase {
     func testThatResponseDataReturnsSuccessResultWithValidData() {
         // Given
         let urlString = "https://httpbin.org/get"
@@ -131,7 +131,7 @@ class ResponseDataTestCase: BaseTestCase {
 
 // MARK: -
 
-class ResponseStringTestCase: BaseTestCase {
+final class ResponseStringTestCase: BaseTestCase {
     func testThatResponseStringReturnsSuccessResultWithValidString() {
         // Given
         let urlString = "https://httpbin.org/get"
@@ -184,7 +184,7 @@ class ResponseStringTestCase: BaseTestCase {
 
 // MARK: -
 
-class ResponseJSONTestCase: BaseTestCase {
+final class ResponseJSONTestCase: BaseTestCase {
     func testThatResponseJSONReturnsSuccessResultWithValidJSON() {
         // Given
         let urlString = "https://httpbin.org/get"
@@ -299,7 +299,7 @@ class ResponseJSONTestCase: BaseTestCase {
     }
 }
 
-class ResponseJSONDecodableTestCase: BaseTestCase {
+final class ResponseJSONDecodableTestCase: BaseTestCase {
     func testThatResponseDecodableReturnsSuccessResultWithValidJSON() {
         // Given
         let urlString = "https://httpbin.org/get"
@@ -376,7 +376,7 @@ class ResponseJSONDecodableTestCase: BaseTestCase {
 
 // MARK: -
 
-class ResponseMapTestCase: BaseTestCase {
+final class ResponseMapTestCase: BaseTestCase {
     func testThatMapTransformsSuccessValue() {
         // Given
         let urlString = "https://httpbin.org/get"
@@ -433,7 +433,7 @@ class ResponseMapTestCase: BaseTestCase {
 
 // MARK: -
 
-class ResponseTryMapTestCase: BaseTestCase {
+final class ResponseTryMapTestCase: BaseTestCase {
     func testThatTryMapTransformsSuccessValue() {
         // Given
         let urlString = "https://httpbin.org/get"
@@ -526,7 +526,7 @@ class ResponseTryMapTestCase: BaseTestCase {
 // MARK: -
 
 enum TestError: Error {
-    case error(error: Error)
+    case error(error: AFError)
 }
 
 enum TransformationError: Error {
@@ -537,7 +537,7 @@ enum TransformationError: Error {
     }
 }
 
-class ResponseMapErrorTestCase: BaseTestCase {
+final class ResponseMapErrorTestCase: BaseTestCase {
     func testThatMapErrorTransformsFailureValue() {
         // Given
         let urlString = "https://invalid-url-here.org/this/does/not/exist"
@@ -592,7 +592,7 @@ class ResponseMapErrorTestCase: BaseTestCase {
 
 // MARK: -
 
-class ResponseTryMapErrorTestCase: BaseTestCase {
+final class ResponseTryMapErrorTestCase: BaseTestCase {
     func testThatTryMapErrorPreservesSuccessValue() {
         // Given
         let urlString = "https://httpbin.org/get"

+ 3 - 1
Tests/TLSEvaluationTests.swift

@@ -244,7 +244,9 @@ final class TLSEvaluationExpiredLeafCertificateTestCase: BaseTestCase {
         XCTAssertEqual(error?.isServerTrustEvaluationError, true)
 
         if case let .serverTrustEvaluationFailed(reason)? = error {
-            XCTAssertTrue(reason.isDefaultEvaluationFailed, "should be .defaultEvaluationFailed")
+            // Test seems flaky and can result in either of these failures, perhaps due to the OS actually checking?
+            XCTAssertTrue(reason.isDefaultEvaluationFailed || reason.isRevocationCheckFailed,
+                          "should be .defaultEvaluationFailed or .revocationCheckFailed")
         } else {
             XCTFail("error should be .serverTrustEvaluationFailed")
         }