51 lines
1.6 KiB
Swift
51 lines
1.6 KiB
Swift
//
|
|
// Copyright 2025 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
//
|
|
|
|
import Foundation
|
|
import Testing
|
|
|
|
@testable import SignalServiceKit
|
|
|
|
struct GroupMessageProcessorJobTest {
|
|
@Test
|
|
func testDeserialize() throws {
|
|
let groupId = Data(repeating: 2, count: 32)
|
|
let db = InMemoryDB()
|
|
try db.write { tx in
|
|
try tx.database.execute(sql: """
|
|
INSERT INTO "model_IncomingGroupsV2MessageJob" (
|
|
"id",
|
|
"uniqueId",
|
|
"recordType",
|
|
"createdAt",
|
|
"envelopeData",
|
|
"plaintextData",
|
|
"wasReceivedByUD",
|
|
"groupId",
|
|
"serverDeliveryTimestamp"
|
|
) VALUES (
|
|
42,
|
|
'00000000-0000-4000-8000-000000000000',
|
|
63,
|
|
1744323000,
|
|
X'1234',
|
|
X'5678',
|
|
1,
|
|
X'0202020202020202020202020202020202020202020202020202020202020202',
|
|
1744323001
|
|
)
|
|
""")
|
|
}
|
|
let job = try db.read { tx in try GroupMessageProcessorJobStore().nextJob(forGroupId: groupId, tx: tx)! }
|
|
#expect(job.id == 42)
|
|
#expect(job.groupId == groupId)
|
|
#expect(job.envelopeData == Data([0x12, 0x34]))
|
|
#expect(job.plaintextData == Data([0x56, 0x78]))
|
|
#expect(job.createdAt == Date(timeIntervalSince1970: 1744323000))
|
|
#expect(job.wasReceivedByUD == true)
|
|
#expect(job.serverDeliveryTimestamp == 1744323001)
|
|
}
|
|
}
|