// // Copyright 2020 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only // public import XCTest @testable import SignalServiceKit open class SignalBaseTest: XCTestCase { private var oldContext: (any AppContext)! @MainActor public override func setUp() { super.setUp() let setupExpectation = expectation(description: "mock ssk environment setup completed") self.oldContext = CurrentAppContext() Task { await MockSSKEnvironment.activate() setupExpectation.fulfill() } waitForExpectations(timeout: 2) } @MainActor open override func tearDown() { MockSSKEnvironment.deactivate(oldContext: self.oldContext) super.tearDown() } func read(block: (DBReadTransaction) throws -> T) rethrows -> T { return try SSKEnvironment.shared.databaseStorageRef.read(block: block) } func write(block: (DBWriteTransaction) throws -> T) rethrows -> T { return try SSKEnvironment.shared.databaseStorageRef.write(block: block) } }