Convert new tests to Swift Testing

This commit is contained in:
islam
2025-10-15 01:25:48 +01:00
parent 91040f7ed4
commit b4e2746be6
2 changed files with 20 additions and 33 deletions
@@ -96,7 +96,7 @@ struct NotificationStreamAssemblerTests {
#expect(decoded.timestamp == packet.timestamp) #expect(decoded.timestamp == packet.timestamp)
} }
func testAssemblesCompressedLargeFrame() throws { @Test func assemblesCompressedLargeFrame() throws {
var assembler = NotificationStreamAssembler() var assembler = NotificationStreamAssembler()
// Keep the fixture below FileTransferLimits.maxPayloadBytes so encoding succeeds while still exercising compression. // Keep the fixture below FileTransferLimits.maxPayloadBytes so encoding succeeds while still exercising compression.
@@ -107,10 +107,7 @@ struct NotificationStreamAssemblerTests {
mimeType: "application/octet-stream", mimeType: "application/octet-stream",
content: largeContent content: largeContent
) )
guard let tlvPayload = filePacket.encode() else { let tlvPayload = try #require(filePacket.encode(), "Failed to encode file packet")
return XCTFail("Failed to encode file packet")
}
let senderID = Data(repeating: 0xAA, count: BinaryProtocol.senderIDSize) let senderID = Data(repeating: 0xAA, count: BinaryProtocol.senderIDSize)
let packet = BitchatPacket( let packet = BitchatPacket(
type: MessageType.fileTransfer.rawValue, type: MessageType.fileTransfer.rawValue,
@@ -123,39 +120,31 @@ struct NotificationStreamAssemblerTests {
version: 2 version: 2
) )
guard let frame = packet.toBinaryData(padding: false) else { let frame = try #require(packet.toBinaryData(padding: false), "Failed to encode packet frame")
return XCTFail("Failed to encode packet frame")
}
XCTAssertLessThan(BinaryProtocol.Offsets.flags, frame.count) #expect(BinaryProtocol.Offsets.flags < frame.count)
let flags = frame[frame.startIndex + BinaryProtocol.Offsets.flags] let flags = frame[frame.startIndex + BinaryProtocol.Offsets.flags]
XCTAssertNotEqual(flags & BinaryProtocol.Flags.isCompressed, 0, "Frame should be compressed for large payloads") #expect(flags & BinaryProtocol.Flags.isCompressed != 0, "Frame should be compressed for large payloads")
let splitIndex = min(4096, frame.count / 2) let splitIndex = min(4096, frame.count / 2)
var result = assembler.append(frame.prefix(splitIndex)) var result = assembler.append(frame.prefix(splitIndex))
XCTAssertTrue(result.frames.isEmpty) #expect(result.frames.isEmpty)
result = assembler.append(frame.suffix(from: splitIndex)) result = assembler.append(frame.suffix(from: splitIndex))
XCTAssertEqual(result.frames.count, 1) #expect(result.frames.count == 1)
XCTAssertTrue(result.droppedPrefixes.isEmpty) #expect(result.droppedPrefixes.isEmpty)
XCTAssertFalse(result.reset) #expect(!result.reset)
guard let assembled = result.frames.first else { let assembled = try #require(result.frames.first, "Missing assembled frame")
return XCTFail("Missing assembled frame") #expect(assembled.count == frame.count)
}
XCTAssertEqual(assembled.count, frame.count)
guard let decodedPacket = BinaryProtocol.decode(assembled) else { let decodedPacket = try #require(BinaryProtocol.decode(assembled), "Failed to decode compressed frame")
return XCTFail("Failed to decode compressed frame") #expect(decodedPacket.payload.count == tlvPayload.count)
}
XCTAssertEqual(decodedPacket.payload.count, tlvPayload.count)
guard let decodedFile = BitchatFilePacket.decode(decodedPacket.payload) else { let decodedFile = try #require(BitchatFilePacket.decode(decodedPacket.payload), "Failed to decode TLV payload")
return XCTFail("Failed to decode TLV payload") #expect(decodedFile.fileName == filePacket.fileName)
} #expect(decodedFile.mimeType == filePacket.mimeType)
XCTAssertEqual(decodedFile.fileName, filePacket.fileName) #expect(decodedFile.content.count == largeContent.count)
XCTAssertEqual(decodedFile.mimeType, filePacket.mimeType) #expect(decodedFile.content.prefix(32) == largeContent.prefix(32))
XCTAssertEqual(decodedFile.content.count, largeContent.count)
XCTAssertEqual(decodedFile.content.prefix(32), largeContent.prefix(32))
} }
} }
@@ -68,10 +68,8 @@ struct BinaryProtocolTests {
let encodedData = try #require(BinaryProtocol.encode(packet), "Failed to encode packet with large payload") let encodedData = try #require(BinaryProtocol.encode(packet), "Failed to encode packet with large payload")
// The encoded size should be smaller than uncompressed due to compression // The encoded size should be smaller than uncompressed due to compression
guard let headerSize = BinaryProtocol.headerSize(for: packet.version) else { let headerSize = try #require(BinaryProtocol.headerSize(for: packet.version), "Invalid version")
XCTFail("Invalid version")
return
}
let uncompressedSize = headerSize + BinaryProtocol.senderIDSize + largePayload.count let uncompressedSize = headerSize + BinaryProtocol.senderIDSize + largePayload.count
#expect(encodedData.count < uncompressedSize) #expect(encodedData.count < uncompressedSize)