mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			66 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Swift
		
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Swift
		
	
| // Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
 | |
| 
 | |
| import Foundation
 | |
| 
 | |
| import Quick
 | |
| import Nimble
 | |
| 
 | |
| @testable import SessionMessagingKit
 | |
| 
 | |
| class SendMessageRequestSpec: QuickSpec {
 | |
|     override class func spec() {
 | |
|         // MARK: - a SendMessageRequest
 | |
|         describe("a SendMessageRequest") {
 | |
|             // MARK: -- when initializing
 | |
|             context("when initializing") {
 | |
|                 // MARK: ---- defaults the optional values to nil
 | |
|                 it("defaults the optional values to nil") {
 | |
|                     let request: OpenGroupAPI.SendMessageRequest = OpenGroupAPI.SendMessageRequest(
 | |
|                         data: "TestData".data(using: .utf8)!,
 | |
|                         signature: "TestSignature".data(using: .utf8)!
 | |
|                     )
 | |
|                     
 | |
|                     expect(request.whisperTo).to(beNil())
 | |
|                     expect(request.whisperMods).to(beNil())
 | |
|                     expect(request.fileIds).to(beNil())
 | |
|                 }
 | |
|             }
 | |
|             
 | |
|             // 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.SendMessageRequest = OpenGroupAPI.SendMessageRequest(
 | |
|                         data: "TestData".data(using: .utf8)!,
 | |
|                         signature: "TestSignature".data(using: .utf8)!,
 | |
|                         whisperTo: nil,
 | |
|                         whisperMods: nil,
 | |
|                         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.SendMessageRequest = OpenGroupAPI.SendMessageRequest(
 | |
|                         data: "TestData".data(using: .utf8)!,
 | |
|                         signature: "TestSignature".data(using: .utf8)!,
 | |
|                         whisperTo: nil,
 | |
|                         whisperMods: nil,
 | |
|                         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=="))
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |