diff --git a/Tests/OfflineTests/NotesRepositoryTests.swift b/Tests/OfflineTests/NotesRepositoryTests.swift index 98408b9d..c82f7cef 100644 --- a/Tests/OfflineTests/NotesRepositoryTests.swift +++ b/Tests/OfflineTests/NotesRepositoryTests.swift @@ -16,8 +16,8 @@ class NotesRepositoryTests: XCTestCase { override func setUp() { super.setUp() - sentNotesRepository = TestDbBuilder.sentNotesRepository() - receivedNotesRepository = TestDbBuilder.receivedNotesRepository() + sentNotesRepository = try! TestDbBuilder.sentNotesRepository() + receivedNotesRepository = try! TestDbBuilder.receivedNotesRepository() } override func tearDown() { diff --git a/Tests/OfflineTests/TransactionRepositoryTests.swift b/Tests/OfflineTests/TransactionRepositoryTests.swift index 9374d7c8..d2ca12d4 100644 --- a/Tests/OfflineTests/TransactionRepositoryTests.swift +++ b/Tests/OfflineTests/TransactionRepositoryTests.swift @@ -15,7 +15,7 @@ class TransactionRepositoryTests: XCTestCase { override func setUp() { super.setUp() - transactionRepository = TestDbBuilder.transactionRepository() + transactionRepository = try! TestDbBuilder.transactionRepository() } override func tearDown() { diff --git a/Tests/TestUtils/TestDbBuilder.swift b/Tests/TestUtils/TestDbBuilder.swift index 666f5f66..c3028ebb 100644 --- a/Tests/TestUtils/TestDbBuilder.swift +++ b/Tests/TestUtils/TestDbBuilder.swift @@ -73,26 +73,30 @@ class TestDbBuilder { Bundle.module.url(forResource: "ZcashSdk_Data", withExtension: "db") } - static func prepopulatedDataDbProvider() -> ConnectionProvider? { + static func prepopulatedDataDbProvider() throws -> ConnectionProvider? { guard let url = prePopulatedMainnetDataDbURL() else { return nil } let provider = SimpleConnectionProvider(path: url.absoluteString, readonly: true) - - return provider + let initResult = try ZcashRustBackend.initDataDb(dbData: url, seed: nil, networkType: NetworkType.testnet) + switch (initResult) { + case .success: return provider + case .seedRequired: + throw StorageError.migrationFailedWithMessage(message: "Seed value required to initialize the wallet database") + } } - static func transactionRepository() -> TransactionRepository? { - guard let provider = prepopulatedDataDbProvider() else { return nil } + static func transactionRepository() throws -> TransactionRepository? { + guard let provider = try prepopulatedDataDbProvider() else { return nil } return TransactionSQLDAO(dbProvider: provider) } - static func sentNotesRepository() -> SentNotesRepository? { - guard let provider = prepopulatedDataDbProvider() else { return nil } + static func sentNotesRepository() throws -> SentNotesRepository? { + guard let provider = try prepopulatedDataDbProvider() else { return nil } return SentNotesSQLDAO(dbProvider: provider) } - static func receivedNotesRepository() -> ReceivedNoteRepository? { - guard let provider = prepopulatedDataDbProvider() else { return nil } + static func receivedNotesRepository() throws -> ReceivedNoteRepository? { + guard let provider = try prepopulatedDataDbProvider() else { return nil } return ReceivedNotesSQLDAO(dbProvider: provider) }