This commit is contained in:
@@ -1,12 +1,34 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
from unittest.mock import patch
|
||||
from types import SimpleNamespace
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from govoplan_core.commands.wait_for_database import main
|
||||
from govoplan_core.db.migrations import configured_migration_heads
|
||||
|
||||
|
||||
class WaitForDatabaseTests(unittest.TestCase):
|
||||
def test_configured_heads_resolve_cross_branch_dependencies(self) -> None:
|
||||
scripts = MagicMock()
|
||||
scripts.get_revisions.return_value = (
|
||||
SimpleNamespace(revision="head-b"),
|
||||
SimpleNamespace(revision="head-a"),
|
||||
)
|
||||
|
||||
with (
|
||||
patch("govoplan_core.db.migrations.alembic_config"),
|
||||
patch(
|
||||
"govoplan_core.db.migrations.ScriptDirectory.from_config",
|
||||
return_value=scripts,
|
||||
),
|
||||
):
|
||||
heads = configured_migration_heads("sqlite://")
|
||||
|
||||
self.assertEqual(("head-a", "head-b"), heads)
|
||||
scripts.get_revisions.assert_called_once_with("heads")
|
||||
scripts.get_heads.assert_not_called()
|
||||
|
||||
def test_waits_until_exact_configured_heads_are_visible(self) -> None:
|
||||
with (
|
||||
patch(
|
||||
|
||||
Reference in New Issue
Block a user