|  |  |  | // Copyright © 2022 Rangeproof Pty Ltd. All rights reserved. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import Foundation | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import Quick | 
					
						
							|  |  |  | import Nimble | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @testable import SessionMessagingKit | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class UpdateMessageRequestSpec: QuickSpec { | 
					
						
							|  |  |  |     override class func spec() { | 
					
						
							|  |  |  |         // MARK: - an UpdateMessageRequest | 
					
						
							|  |  |  |         describe("an UpdateMessageRequest") { | 
					
						
							|  |  |  |             // MARK: -- when encoding | 
					
						
							|  |  |  |             context("when encoding") { | 
					
						
							|  |  |  |                 // MARK: ---- encodes the data as a base64 string | 
					
						
							|  |  |  |                 it("encodes the data as a base64 string") { | 
					
						
							|  |  |  |                     let request: OpenGroupAPI.UpdateMessageRequest = OpenGroupAPI.UpdateMessageRequest( | 
					
						
							|  |  |  |                         data: "TestData".data(using: .utf8)!, | 
					
						
							|  |  |  |                         signature: "TestSignature".data(using: .utf8)!, | 
					
						
							|  |  |  |                         fileIds: nil | 
					
						
							|  |  |  |                     ) | 
					
						
							|  |  |  |                     let requestData: Data = try! JSONEncoder().encode(request) | 
					
						
							|  |  |  |                     let requestDataString: String = String(data: requestData, encoding: .utf8)! | 
					
						
							|  |  |  |                      | 
					
						
							|  |  |  |                     expect(requestDataString).toNot(contain("TestData")) | 
					
						
							|  |  |  |                     expect(requestDataString).to(contain("VGVzdERhdGE=")) | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                  | 
					
						
							|  |  |  |                 // MARK: ---- encodes the signature as a base64 string | 
					
						
							|  |  |  |                 it("encodes the signature as a base64 string") { | 
					
						
							|  |  |  |                     let request: OpenGroupAPI.UpdateMessageRequest = OpenGroupAPI.UpdateMessageRequest( | 
					
						
							|  |  |  |                         data: "TestData".data(using: .utf8)!, | 
					
						
							|  |  |  |                         signature: "TestSignature".data(using: .utf8)!, | 
					
						
							|  |  |  |                         fileIds: nil | 
					
						
							|  |  |  |                     ) | 
					
						
							|  |  |  |                     let requestData: Data = try! JSONEncoder().encode(request) | 
					
						
							|  |  |  |                     let requestDataString: String = String(data: requestData, encoding: .utf8)! | 
					
						
							|  |  |  |                      | 
					
						
							|  |  |  |                     expect(requestDataString).toNot(contain("TestSignature")) | 
					
						
							|  |  |  |                     expect(requestDataString).to(contain("VGVzdFNpZ25hdHVyZQ==")) | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } |