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=="))
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |