@ -5,7 +5,7 @@ import XCTest
class SyncMessagesProtocolTests : XCTestCase {
class SyncMessagesProtocolTests : XCTestCase {
private var storage : OWSPrimaryStorage { OWSPrimaryStorage . shared ( ) }
private var storage : OWSPrimaryStorage { OWSPrimaryStorage . shared ( ) }
private var messageSender : OWSFakeMessageSender { return MockSSKEnvironment . shared . messageSender as ! OWSFakeMessageSender }
private var messageSender : OWSFakeMessageSender { MockSSKEnvironment . shared . messageSender as ! OWSFakeMessageSender }
override func setUp ( ) {
override func setUp ( ) {
super . setUp ( )
super . setUp ( )
@ -35,34 +35,23 @@ class SyncMessagesProtocolTests : XCTestCase {
let contactData = Data ( base64Encoded : base64EncodedContactData ) !
let contactData = Data ( base64Encoded : base64EncodedContactData ) !
let parser = ContactParser ( data : contactData )
let parser = ContactParser ( data : contactData )
let hexEncodedPublicKeys = parser . parseHexEncodedPublicKeys ( )
let hexEncodedPublicKeys = parser . parseHexEncodedPublicKeys ( )
let expectation = self . expectation ( description : " Send friend request messages " )
let expectation = self . expectation ( description : " sent friend request messages " )
var messageCount = 0
let messageSender = self . messageSender
var messageCount = 0 ;
messageSender . sendMessageWasCalledBlock = { sentMessage in
messageSender . sendMessageWasCalledBlock = { [ weak messageSender ] sentMessage in
messageCount += 1
messageCount += 1 ;
guard sentMessage is FriendRequestMessage else {
guard sentMessage is FriendRequestMessage else {
XCTFail ( " unexpected sentMessage: \( sentMessage ) " )
return XCTFail ( " Expected a friend request to be sent, but found: \( sentMessage ) . " )
return
}
if ( messageCount = = hexEncodedPublicKeys . count ) {
expectation . fulfill ( )
guard let strongMessageSender = messageSender else {
return
}
strongMessageSender . sendMessageWasCalledBlock = nil
}
}
guard messageCount = = hexEncodedPublicKeys . count else { return }
expectation . fulfill ( )
messageSender . sendMessageWasCalledBlock = nil
}
}
storage . dbReadWriteConnection . readWrite { transaction in
storage . dbReadWriteConnection . readWrite { transaction in
SyncMessagesProtocol . handleContactSyncMessageData ( contactData , using : transaction )
SyncMessagesProtocol . handleContactSyncMessageData ( contactData , using : transaction )
}
}
wait ( for : [ expectation ] , timeout : 1 )
self . wait ( for : [ expectation ] , timeout : 1.0 )
/* TODO: R e - e n a b l e w h e n w e ' v e s p l i t f r i e n d r e q u e s t l o g i c f r o m O W S M e s s a g e S e n d e r
/* TODO: R e - e n a b l e w h e n w e s p l i t f r i e n d r e q u e s t l o g i c f r o m O W S M e s s a g e S e n d e r
hexEncodedPublicKeys . forEach { hexEncodedPublicKey in
hexEncodedPublicKeys . forEach { hexEncodedPublicKey in
var friendRequestStatus : LKFriendRequestStatus !
var friendRequestStatus : LKFriendRequestStatus !
storage . dbReadWriteConnection . readWrite { transaction in
storage . dbReadWriteConnection . readWrite { transaction in