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

Update SingleUseResponseReport model

parent 202f1075
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!30Update Bindings
...@@ -4,40 +4,29 @@ public struct SingleUseResponseReport: Equatable { ...@@ -4,40 +4,29 @@ public struct SingleUseResponseReport: Equatable {
public init( public init(
rounds: [Int], rounds: [Int],
payload: Data, payload: Data,
receptionId: ReceptionId, ephId: Int64,
receptionId: Data,
error: String? error: String?
) { ) {
self.rounds = rounds self.rounds = rounds
self.payload = payload self.payload = payload
self.ephId = ephId
self.receptionId = receptionId self.receptionId = receptionId
self.error = error self.error = error
} }
public var rounds: [Int] public var rounds: [Int]
public var payload: Data public var payload: Data
public var receptionId: ReceptionId public var ephId: Int64
public var receptionId: Data
public var error: String? public var error: String?
} }
extension SingleUseResponseReport {
public struct ReceptionId: Equatable {
public init(
ephId: [Int],
source: Data
) {
self.ephId = ephId
self.source = source
}
public var ephId: [Int]
public var source: Data
}
}
extension SingleUseResponseReport: Codable { extension SingleUseResponseReport: Codable {
enum CodingKeys: String, CodingKey { enum CodingKeys: String, CodingKey {
case rounds = "Rounds" case rounds = "Rounds"
case payload = "Payload" case payload = "Payload"
case ephId = "EphID"
case receptionId = "ReceptionID" case receptionId = "ReceptionID"
case error = "Err" case error = "Err"
} }
...@@ -50,10 +39,3 @@ extension SingleUseResponseReport: Codable { ...@@ -50,10 +39,3 @@ extension SingleUseResponseReport: Codable {
try JSONEncoder().encode(self) try JSONEncoder().encode(self)
} }
} }
extension SingleUseResponseReport.ReceptionId: Codable {
enum CodingKeys: String, CodingKey {
case ephId = "EphId"
case source = "Source"
}
}
...@@ -6,16 +6,14 @@ final class SingleUseResponseReportTests: XCTestCase { ...@@ -6,16 +6,14 @@ final class SingleUseResponseReportTests: XCTestCase {
func testCoding() throws { func testCoding() throws {
let rounds: [Int] = [1, 5, 9] let rounds: [Int] = [1, 5, 9]
let payloadB64 = "rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==" let payloadB64 = "rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw=="
let receptionIdEphId: [Int] = [0, 0, 0, 0, 0, 0, 3, 89] let ephId: Int64 = 1_655_533
let receptionIdSourceB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD" let receptionIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
let jsonString = """ let jsonString = """
{ {
"Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))], "Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))],
"Payload": "\(payloadB64)", "Payload": "\(payloadB64)",
"ReceptionID": { "EphID": \(ephId),
"EphId": [\(receptionIdEphId.map { "\($0)" }.joined(separator: ", "))], "ReceptionID": "\(receptionIdB64)",
"Source": "\(receptionIdSourceB64)"
},
"Err": null "Err": null
} }
""" """
...@@ -25,10 +23,8 @@ final class SingleUseResponseReportTests: XCTestCase { ...@@ -25,10 +23,8 @@ final class SingleUseResponseReportTests: XCTestCase {
XCTAssertNoDifference(model, SingleUseResponseReport( XCTAssertNoDifference(model, SingleUseResponseReport(
rounds: rounds, rounds: rounds,
payload: Data(base64Encoded: payloadB64)!, payload: Data(base64Encoded: payloadB64)!,
receptionId: .init( ephId: ephId,
ephId: receptionIdEphId, receptionId: Data(base64Encoded: receptionIdB64)!,
source: Data(base64Encoded: receptionIdSourceB64)!
),
error: nil error: nil
)) ))
...@@ -41,17 +37,15 @@ final class SingleUseResponseReportTests: XCTestCase { ...@@ -41,17 +37,15 @@ final class SingleUseResponseReportTests: XCTestCase {
func testDecodingReportWithError() throws { func testDecodingReportWithError() throws {
let rounds: [Int] = [1, 5, 9] let rounds: [Int] = [1, 5, 9]
let payloadB64 = "rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==" let payloadB64 = "rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw=="
let receptionIdEphId: [Int] = [0, 0, 0, 0, 0, 0, 3, 89] let ephId: Int64 = 1_655_533
let receptionIdSourceB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD" let receptionIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
let error = "something went wrong" let error = "something went wrong"
let jsonString = """ let jsonString = """
{ {
"Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))], "Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))],
"Payload": "\(payloadB64)", "Payload": "\(payloadB64)",
"ReceptionID": { "EphID": \(ephId),
"EphId": [\(receptionIdEphId.map { "\($0)" }.joined(separator: ", "))], "ReceptionID": "\(receptionIdB64)",
"Source": "\(receptionIdSourceB64)"
},
"Err": "\(error)" "Err": "\(error)"
} }
""" """
...@@ -61,10 +55,8 @@ final class SingleUseResponseReportTests: XCTestCase { ...@@ -61,10 +55,8 @@ final class SingleUseResponseReportTests: XCTestCase {
XCTAssertNoDifference(model, SingleUseResponseReport( XCTAssertNoDifference(model, SingleUseResponseReport(
rounds: rounds, rounds: rounds,
payload: Data(base64Encoded: payloadB64)!, payload: Data(base64Encoded: payloadB64)!,
receptionId: .init( ephId: ephId,
ephId: receptionIdEphId, receptionId: Data(base64Encoded: receptionIdB64)!,
source: Data(base64Encoded: receptionIdSourceB64)!
),
error: error error: error
)) ))
} }
......
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