mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-01-02 14:03:06 +00:00
57 lines
1.5 KiB
Nim
57 lines
1.5 KiB
Nim
import std/[options], stew/results, testutils/unittests
|
|
|
|
import
|
|
waku/node/peer_manager/peer_store/migrations,
|
|
../../waku_archive/archive_utils,
|
|
../../testlib/[simple_mock]
|
|
|
|
import std/[tables, strutils, os], stew/results, chronicles
|
|
|
|
import waku/common/databases/db_sqlite, waku/common/databases/common
|
|
|
|
suite "Migrations":
|
|
test "migrate ok":
|
|
# Given the db_sqlite.migrate function returns ok
|
|
let backup = db_sqlite.migrate
|
|
mock(db_sqlite.migrate):
|
|
proc mockedMigrate(
|
|
db: SqliteDatabase, targetVersion: int64, migrationsScriptsDir: string
|
|
): DatabaseResult[void] =
|
|
ok()
|
|
|
|
mockedMigrate
|
|
|
|
# When we call the migrate function
|
|
let migrationResult = migrations.migrate(newSqliteDatabase(), 1)
|
|
|
|
# Then we expect the result to be ok
|
|
check:
|
|
migrationResult == DatabaseResult[void].ok()
|
|
|
|
# Cleanup
|
|
mock(db_sqlite.migrate):
|
|
backup
|
|
|
|
test "migrate error":
|
|
# Given the db_sqlite.migrate function returns an error
|
|
let backup = db_sqlite.migrate
|
|
mock(db_sqlite.migrate):
|
|
proc mockedMigrate(
|
|
db: SqliteDatabase, targetVersion: int64, migrationsScriptsDir: string
|
|
): DatabaseResult[void] =
|
|
err("mock error")
|
|
|
|
mockedMigrate
|
|
|
|
# When we call the migrate function
|
|
let migrationResult = migrations.migrate(newSqliteDatabase(), 1)
|
|
|
|
# Then we expect the result to be an error
|
|
check:
|
|
migrationResult ==
|
|
DatabaseResult[void].err("failed to execute migration scripts: mock error")
|
|
|
|
# Cleanup
|
|
mock(db_sqlite.migrate):
|
|
backup
|