39 lines
1.1 KiB
Swift
39 lines
1.1 KiB
Swift
//
|
|
// 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
|
|
override public func setUp() {
|
|
super.setUp()
|
|
let setupExpectation = expectation(description: "mock ssk environment setup completed")
|
|
self.oldContext = CurrentAppContext()
|
|
Task {
|
|
await MockSSKEnvironment.activate()
|
|
setupExpectation.fulfill()
|
|
}
|
|
waitForExpectations(timeout: 30)
|
|
}
|
|
|
|
@MainActor
|
|
override open func tearDown() {
|
|
MockSSKEnvironment.deactivate(oldContext: self.oldContext)
|
|
super.tearDown()
|
|
}
|
|
|
|
func read<T>(block: (DBReadTransaction) throws -> T) rethrows -> T {
|
|
return try SSKEnvironment.shared.databaseStorageRef.read(block: block)
|
|
}
|
|
|
|
func write<T>(block: (DBWriteTransaction) throws -> T) rethrows -> T {
|
|
return try SSKEnvironment.shared.databaseStorageRef.write(block: block)
|
|
}
|
|
}
|