mirror of
https://github.com/kean/Pulse.git
synced 2026-05-30 21:07:33 +00:00
Log complete error description
This commit is contained in:
@@ -65,7 +65,7 @@ public struct NetworkLoggerError: Codable {
|
||||
} else {
|
||||
self.domain = error.domain
|
||||
}
|
||||
self.debugDescription = (error.userInfo[NSDebugDescriptionErrorKey] as? String) ?? error.debugDescription
|
||||
self.debugDescription = String(describing: error)
|
||||
self.error = error
|
||||
}
|
||||
|
||||
@@ -260,7 +260,7 @@ public enum NetworkLoggerDecodingError: Error, Codable {
|
||||
case dataCorrupted(context: Context)
|
||||
case unknown
|
||||
|
||||
public static let domain = "NetworkLoggerDecodingError"
|
||||
public static let domain = "DecodingError"
|
||||
|
||||
public struct Context: Codable {
|
||||
public let codingPath: [CodingKey]
|
||||
|
||||
@@ -313,7 +313,18 @@ private let mockPatchRepoResponseBody = """
|
||||
}
|
||||
""".data(using: .utf8)!
|
||||
|
||||
private let mockPatchRepoDecodingError = NetworkLoggerDecodingError.typeMismatch(type: "Int", context: .init(codingPath: [.string("id")], debugDescription: "TypeMismatch"))
|
||||
private let mockPatchRepoDecodingError: Error = {
|
||||
struct Repo: Decodable {
|
||||
let id: String
|
||||
let node: String
|
||||
}
|
||||
do {
|
||||
_ = try JSONDecoder().decode(Repo.self, from: mockPatchRepoResponseBody)
|
||||
return URLError(.unknown)
|
||||
} catch {
|
||||
return error
|
||||
}
|
||||
}()
|
||||
|
||||
// MARK: - Download (GET)
|
||||
|
||||
|
||||
@@ -29,8 +29,8 @@ final class NetworkLoggerTests: XCTestCase {
|
||||
_ = try JSONDecoder().decode(Repo.self, from: data)
|
||||
XCTFail("Expected decoding to fail")
|
||||
} catch {
|
||||
let error = NetworkLoggerError(error)
|
||||
let encoded = try JSONEncoder().encode(error)
|
||||
let networkError = NetworkLoggerError(error)
|
||||
let encoded = try JSONEncoder().encode(networkError)
|
||||
let decoded = try JSONDecoder().decode(NetworkLoggerError.self, from: encoded)
|
||||
let decodingError = try XCTUnwrap(decoded.error as? NetworkLoggerDecodingError)
|
||||
switch decodingError {
|
||||
@@ -38,7 +38,7 @@ final class NetworkLoggerTests: XCTestCase {
|
||||
XCTAssertEqual(type, "String")
|
||||
XCTAssertEqual(context.codingPath, [.string("id")])
|
||||
default:
|
||||
XCTFail("Unexpected error: \(error)")
|
||||
XCTFail("Unexpected error: \(networkError)")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user