Signal-iOS/SignalServiceKit/tests/Storage/Database/GRDBSchemaMigratorTest.swift
Evan Hahn 11c2cf0813
Add basic test for database migration
_This change should have no user impact._

This adds a basic test for database migration, and makes the necessary
changes to make that possible.
2022-09-22 17:24:40 +00:00

29 lines
878 B
Swift

//
// Copyright (c) 2022 Open Whisper Systems. All rights reserved.
//
import XCTest
import SignalServiceKit
class GRDBSchemaMigratorTest: XCTestCase {
func testMigrateFromScratch() throws {
let databaseStorage = SDSDatabaseStorage(
databaseFileUrl: OWSFileSystem.temporaryFileUrl(),
delegate: DatabaseTestHelpers.TestSDSDatabaseStorageDelegate()
)
GRDBSchemaMigrator.migrateDatabase(
databaseStorage: databaseStorage,
isMainDatabase: false
)
databaseStorage.read { transaction in
let db = transaction.unwrapGrdbRead.database
let sql = "SELECT name FROM sqlite_schema WHERE type IS 'table'"
let allTableNames = (try? String.fetchAll(db, sql: sql)) ?? []
XCTAssert(allTableNames.contains(TSThread.table.tableName))
}
}
}