Merge branch 'charlesmchen/protoWrapperTests'

This commit is contained in:
Matthew Chen 2018-08-07 15:09:33 -04:00
commit 39124190a6
3 changed files with 62 additions and 7 deletions

View File

@ -432,7 +432,7 @@
4C20B2B720CA0034001BAC90 /* ThreadViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4542DF51208B82E9007B4E76 /* ThreadViewModel.swift */; };
4C20B2B920CA10DE001BAC90 /* ConversationSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C20B2B820CA10DE001BAC90 /* ConversationSearchViewController.swift */; };
4C3EF7FD2107DDEE0007EBF7 /* ParamParserTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EF7FC2107DDEE0007EBF7 /* ParamParserTest.swift */; };
4C3EF802210918740007EBF7 /* SSKEnvelopeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EF801210918740007EBF7 /* SSKEnvelopeTest.swift */; };
4C3EF802210918740007EBF7 /* SSKProtoEnvelopeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EF801210918740007EBF7 /* SSKProtoEnvelopeTest.swift */; };
4C4AEC4520EC343B0020E72B /* DismissableTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4AEC4420EC343B0020E72B /* DismissableTextField.swift */; };
4C4BC6C32102D697004040C9 /* ContactDiscoveryOperationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4BC6C22102D697004040C9 /* ContactDiscoveryOperationTest.swift */; };
4C63CC00210A620B003AE45C /* SignalTSan.supp in Resources */ = {isa = PBXBuildFile; fileRef = 4C63CBFF210A620B003AE45C /* SignalTSan.supp */; };
@ -1114,7 +1114,7 @@
4C13C9F520E57BA30089A98B /* ColorPickerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorPickerViewController.swift; sourceTree = "<group>"; };
4C20B2B820CA10DE001BAC90 /* ConversationSearchViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConversationSearchViewController.swift; sourceTree = "<group>"; };
4C3EF7FC2107DDEE0007EBF7 /* ParamParserTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParamParserTest.swift; sourceTree = "<group>"; };
4C3EF801210918740007EBF7 /* SSKEnvelopeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SSKEnvelopeTest.swift; sourceTree = "<group>"; };
4C3EF801210918740007EBF7 /* SSKProtoEnvelopeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SSKProtoEnvelopeTest.swift; sourceTree = "<group>"; };
4C4AEC4420EC343B0020E72B /* DismissableTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DismissableTextField.swift; sourceTree = "<group>"; };
4C4BC6C22102D697004040C9 /* ContactDiscoveryOperationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ContactDiscoveryOperationTest.swift; path = contact/ContactDiscoveryOperationTest.swift; sourceTree = "<group>"; };
4C63CBFF210A620B003AE45C /* SignalTSan.supp */ = {isa = PBXFileReference; lastKnownFileType = text; path = SignalTSan.supp; sourceTree = "<group>"; };
@ -2124,7 +2124,7 @@
isa = PBXGroup;
children = (
4C3EF7FC2107DDEE0007EBF7 /* ParamParserTest.swift */,
4C3EF801210918740007EBF7 /* SSKEnvelopeTest.swift */,
4C3EF801210918740007EBF7 /* SSKProtoEnvelopeTest.swift */,
);
path = SSKTests;
sourceTree = "<group>";
@ -3481,7 +3481,7 @@
4C3EF7FD2107DDEE0007EBF7 /* ParamParserTest.swift in Sources */,
B660F6DB1C29868000687D6E /* FunctionalUtilTest.m in Sources */,
45E7A6A81E71CA7E00D44FB5 /* DisplayableTextFilterTest.swift in Sources */,
4C3EF802210918740007EBF7 /* SSKEnvelopeTest.swift in Sources */,
4C3EF802210918740007EBF7 /* SSKProtoEnvelopeTest.swift in Sources */,
452D1AF12081059C00A67F7F /* StringAdditionsTest.swift in Sources */,
4C4BC6C32102D697004040C9 /* ContactDiscoveryOperationTest.swift in Sources */,
B660F6BB1C29868000687D6E /* OWSContactsManagerTest.m in Sources */,

View File

@ -65,4 +65,53 @@ class SSKProtoEnvelopeTest: XCTestCase {
}
}
}
func testParse_buildVsRequired() {
let builder = SSKProtoEnvelope.SSKProtoEnvelopeBuilder()
XCTAssertThrowsError(try builder.build()) { (error) -> Void in
switch error {
case SSKProtoError.invalidProtobuf:
break
default:
XCTFail("unexpected error: \(error)")
}
}
}
func testParse_roundtrip() {
let builder = SSKProtoEnvelope.SSKProtoEnvelopeBuilder()
let phonyContent = "phony data".data(using: .utf8)!
builder.setType(SSKProtoEnvelope.SSKProtoEnvelopeType.prekeyBundle)
builder.setTimestamp(123)
builder.setSource("+13213214321")
builder.setSourceDevice(1)
builder.setContent(phonyContent)
var envelopeData: Data
do {
envelopeData = try builder.buildSerializedData()
} catch {
XCTFail("Couldn't serialize data.")
return
}
var envelope: SSKProtoEnvelope
do {
envelope = try SSKProtoEnvelope.parseData(envelopeData)
} catch {
XCTFail("Couldn't serialize data.")
return
}
XCTAssertEqual(envelope.type, SSKProtoEnvelope.SSKProtoEnvelopeType.prekeyBundle)
XCTAssertEqual(envelope.timestamp, 123)
XCTAssertEqual(envelope.source, "+13213214321")
XCTAssertEqual(envelope.sourceDevice, 1)
XCTAssertTrue(envelope.hasContent)
XCTAssertEqual(envelope.content, phonyContent)
XCTAssertFalse(envelope.hasLegacyMessage)
}
}

View File

@ -115,8 +115,14 @@ class PeerConnectionClientTest: XCTestCase {
func testDataChannelMessage() {
XCTAssertEqual(0, clientDelegate.dataChannelMessages.count)
let hangup = DataChannelMessage.forHangup(callId: 123)
let hangupBuffer = RTCDataBuffer(data: hangup.asData(), isBinary: false)
let hangupBuilder = WebRTCProtoHangup.WebRTCProtoHangupBuilder()
hangupBuilder.setId(123)
let hangup = try! hangupBuilder.build()
let dataBuilder = WebRTCProtoData.WebRTCProtoDataBuilder()
dataBuilder.setHangup(hangup)
let hangupData = try! dataBuilder.buildSerializedData()
let hangupBuffer = RTCDataBuffer(data: hangupData, isBinary: false)
client.dataChannel(dataChannel, didReceiveMessageWith: hangupBuffer)
waitForPeerConnectionClient()
@ -124,7 +130,7 @@ class PeerConnectionClientTest: XCTestCase {
XCTAssertEqual(1, clientDelegate.dataChannelMessages.count)
let dataChannelMessageProto = clientDelegate.dataChannelMessages[0]
XCTAssert(dataChannelMessageProto.hasHangup())
XCTAssert(dataChannelMessageProto.hasHangup)
let hangupProto = dataChannelMessageProto.hangup!
XCTAssertEqual(123, hangupProto.id)