import CustomDump import XCTest @testable import ElixxirDAppsSDK final class MessageTests: XCTestCase { func testCoding() throws { let type: Int = 1 let idString = "EB/70R5HYEw5htZ4Hg9ondrn3+cAc/lH2G0mjQMja3w=" let payloadString = "7TzZKgNphT5UooNM7mDSwtVcIs8AIu4vMKm4ld6GSR8YX5GrHirixUBAejmsgdroRJyo06TkIVef7UM9FN8YfQ==" let senderString = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD" let recipientIdString = "amFrZXh4MzYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD" let ephemeralId: Int = 17 let timestamp: Int = 1_653_580_439_357_351_000 let encrypted = false let roundId: Int = 19 let jsonString = """ { "MessageType": \(type), "ID": "\(idString)", "Payload": "\(payloadString)", "Sender": "\(senderString)", "RecipientID": "\(recipientIdString)", "EphemeralID": \(ephemeralId), "Timestamp": \(timestamp), "Encrypted": \(encrypted), "RoundId": \(roundId) } """ let jsonData = jsonString.data(using: .utf8)! let message = try Message.decode(jsonData) XCTAssertNoDifference(message, Message( messageType: 1, id: Data(base64Encoded: idString)!, payload: Data(base64Encoded: payloadString)!, sender: Data(base64Encoded: senderString)!, recipientId: Data(base64Encoded: recipientIdString)!, ephemeralId: ephemeralId, timestamp: timestamp, encrypted: encrypted, roundId: roundId )) let encodedMessage = try message.encode() let decodedMessage = try Message.decode(encodedMessage) XCTAssertNoDifference(decodedMessage, message) } }