Skip to content
Snippets Groups Projects
Commit c9c4efcd authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Add BackupReport model

parent f7842e6b
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!18Update Bindings
import Foundation
public struct BackupReport: Equatable {
public init(
ids: Data,
params: Data
) {
self.ids = ids
self.params = params
}
public var ids: Data
public var params: Data
}
extension BackupReport: Codable {
enum CodingKeys: String, CodingKey {
case ids = "BackupIdListJson"
case params = "BackupParams"
}
public static func decode(_ data: Data) throws -> Self {
try JSONDecoder().decode(Self.self, from: data)
}
public func encode() throws -> Data {
try JSONEncoder().encode(self)
}
}
import CustomDump
import XCTest
@testable import ElixxirDAppsSDK
final class BackupReportTests: XCTestCase {
func testCoding() throws {
let idsB64 = "WyJPRHRRTTA4ZERpV3lXaE0wWUhjanRHWnZQcHRSa1JOZ1pHR2FkTG10dE9BRCJd"
let paramsB64 = "cGFyYW1z"
let jsonString = """
{
"BackupIdListJson": "\(idsB64)",
"BackupParams": "\(paramsB64)"
}
"""
let jsonData = jsonString.data(using: .utf8)!
let model = try BackupReport.decode(jsonData)
XCTAssertNoDifference(model, BackupReport(
ids: Data(base64Encoded: idsB64)!,
params: Data(base64Encoded: paramsB64)!
))
let encodedModel = try model.encode()
let decodedModel = try BackupReport.decode(encodedModel)
XCTAssertNoDifference(decodedModel, model)
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment