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, "密码错误")))
|
|
}
|
|
}
|