Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
white49
Alamofire
提交
579d6f41
A
Alamofire
项目概览
white49
/
Alamofire
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
Alamofire
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
579d6f41
编写于
3月 28, 2019
作者:
E
Eric Jensen
提交者:
Christian Noon
3月 28, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Opened up several APIs on Result behind af namespace through AFExtension
上级
5ddf1aff
变更
16
展开全部
隐藏空白更改
内联
并排
Showing
16 changed file
with
500 addition
and
481 deletion
+500
-481
Source/AFResult.swift
Source/AFResult.swift
+39
-20
Source/Response.swift
Source/Response.swift
+8
-8
Source/ResponseSerialization.swift
Source/ResponseSerialization.swift
+2
-2
Source/Session.swift
Source/Session.swift
+2
-2
Tests/AFResult+Alamofire.swift
Tests/AFResult+Alamofire.swift
+3
-3
Tests/AFResultTests.swift
Tests/AFResultTests.swift
+17
-17
Tests/CachedResponseHandlerTests.swift
Tests/CachedResponseHandlerTests.swift
+7
-7
Tests/DownloadTests.swift
Tests/DownloadTests.swift
+18
-18
Tests/ParameterEncoderTests.swift
Tests/ParameterEncoderTests.swift
+39
-39
Tests/RequestInterceptorTests.swift
Tests/RequestInterceptorTests.swift
+11
-11
Tests/RequestTests.swift
Tests/RequestTests.swift
+8
-8
Tests/ResponseSerializationTests.swift
Tests/ResponseSerializationTests.swift
+219
-219
Tests/ResponseTests.swift
Tests/ResponseTests.swift
+28
-28
Tests/ServerTrustEvaluatorTests.swift
Tests/ServerTrustEvaluatorTests.swift
+68
-68
Tests/SessionTests.swift
Tests/SessionTests.swift
+27
-27
Tests/UploadTests.swift
Tests/UploadTests.swift
+4
-4
未找到文件。
Source/AFResult.swift
浏览文件 @
579d6f41
...
...
@@ -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
)
}
}
}
Source/Response.swift
浏览文件 @
579d6f41
...
...
@@ -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
)
)
}
}
Source/ResponseSerialization.swift
浏览文件 @
579d6f41
...
...
@@ -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
}
...
...
Source/Session.swift
浏览文件 @
579d6f41
...
...
@@ -520,9 +520,9 @@ extension Session: RequestDelegate {
return
}
retrier
.
retry
(
request
,
for
:
self
,
dueTo
:
error
)
{
result
in
retrier
.
retry
(
request
,
for
:
self
,
dueTo
:
error
)
{
re
tryRe
sult
in
self
.
rootQueue
.
async
{
guard
let
retryResultError
=
re
sult
.
error
else
{
completion
(
r
esult
);
return
}
guard
let
retryResultError
=
re
tryResult
.
error
else
{
completion
(
retryR
esult
);
return
}
let
retryError
=
AFError
.
requestRetryFailed
(
retryError
:
retryResultError
,
originalError
:
error
)
completion
(
.
doNotRetryWithError
(
retryError
))
...
...
Tests/AFResult+Alamofire.swift
浏览文件 @
579d6f41
...
...
@@ -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
}
...
...
Tests/AFResultTests.swift
浏览文件 @
579d6f41
...
...
@@ -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"
)
...
...
Tests/CachedResponseHandlerTests.swift
浏览文件 @
579d6f41
...
...
@@ -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
))
}
...
...
Tests/DownloadTests.swift
浏览文件 @
579d6f41
...
...
@@ -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
)
...
...
Tests/ParameterEncoderTests.swift
浏览文件 @
579d6f41
...
...
@@ -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
)
}
}
...
...
Tests/RequestInterceptorTests.swift
浏览文件 @
579d6f41
...
...
@@ -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
()
{
...
...
Tests/RequestTests.swift
浏览文件 @
579d6f41
...
...
@@ -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"
])
}
}
...
...
Tests/ResponseSerializationTests.swift
浏览文件 @
579d6f41
此差异已折叠。
点击以展开。
Tests/ResponseTests.swift
浏览文件 @
579d6f41
...
...
@@ -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
}
...
...
Tests/ServerTrustEvaluatorTests.swift
浏览文件 @
579d6f41
此差异已折叠。
点击以展开。
Tests/SessionTests.swift
浏览文件 @
579d6f41
...
...
@@ -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"
]
{
...
...
Tests/UploadTests.swift
浏览文件 @
579d6f41
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录