TM-SGNL-iOS/SignalServiceKit/TestUtils/FakeMessageSender.swift
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

31 lines
943 B
Swift

//
// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
#if TESTABLE_BUILD
class FakeMessageSender: MessageSender {
public var stubbedFailingErrors = [Error?]()
public var sentMessages = [TSOutgoingMessage]()
public var sendMessageWasCalledBlock: ((TSOutgoingMessage) -> Void)?
override func sendMessage(_ preparedMessage: PreparedOutgoingMessage) async throws {
try await preparedMessage.send { message in
sendMessageWasCalledBlock?(message)
sentMessages.append(message)
}
if let stubbedFailingError = stubbedFailingErrors.removeFirst() { throw stubbedFailingError }
}
override func sendTransientContactSyncAttachment(
dataSource: DataSource,
thread: TSThread
) async throws {
if let stubbedFailingError = stubbedFailingErrors.removeFirst() { throw stubbedFailingError }
}
}
#endif