30 lines
1.0 KiB
Swift
30 lines
1.0 KiB
Swift
//
|
||
// APIErrorTests.swift
|
||
// suixinkanTests
|
||
//
|
||
|
||
import XCTest
|
||
@testable import suixinkan
|
||
|
||
/// 网络错误测试,覆盖登录凭证失效判断。
|
||
final class APIErrorTests: XCTestCase {
|
||
func testAuthenticationExpiredForUnauthorizedHTTPStatus() {
|
||
XCTAssertTrue(APIError.isAuthenticationExpired(APIError.httpStatus(401, "Unauthorized")))
|
||
XCTAssertTrue(APIError.isAuthenticationExpired(APIError.httpStatus(403, "Forbidden")))
|
||
}
|
||
|
||
func testAuthenticationExpiredForAndroidTokenInvalidCodes() {
|
||
for code in [180024, 100091, 100090, 100060] {
|
||
XCTAssertTrue(
|
||
APIError.isAuthenticationExpired(APIError.serverCode(code, "token 失效")),
|
||
"code \(code) 应识别为 token 失效"
|
||
)
|
||
}
|
||
}
|
||
|
||
func testNetworkErrorIsNotAuthenticationExpired() {
|
||
XCTAssertFalse(APIError.isAuthenticationExpired(APIError.networkFailed("请求超时,请稍后重试")))
|
||
XCTAssertFalse(APIError.isAuthenticationExpired(APIError.serverCode(100001, "密码错误")))
|
||
}
|
||
}
|