fix: add util module, w/ model_transaction_query()

just a basic implementation, will have to improve later
This commit is contained in:
Lance Edgar 2025-10-21 13:32:35 -05:00
parent 0e25cca0ba
commit 4db3fa5962
9 changed files with 281 additions and 13 deletions

View file

@ -4,33 +4,45 @@ import socket
from unittest.mock import patch
from wuttjamaican.testing import DataTestCase
from wuttjamaican.testing import ConfigTestCase, DataTestCase
from wutta_continuum import conf as mod
class TestWuttaContinuumConfigExtension(DataTestCase):
class TestWuttaContinuumConfigExtension(ConfigTestCase):
def make_extension(self):
return mod.WuttaContinuumConfigExtension()
def test_startup(self):
def test_startup_without_versioning(self):
ext = self.make_extension()
with patch.object(mod, "make_versioned") as make_versioned:
with patch.object(mod, "configure_mappers") as configure_mappers:
# nothing happens by default
ext.startup(self.config)
make_versioned.assert_not_called()
configure_mappers.assert_not_called()
# but will if we enable it in config
def test_startup_with_versioning(self):
ext = self.make_extension()
with patch.object(mod, "make_versioned") as make_versioned:
with patch.object(mod, "configure_mappers") as configure_mappers:
self.config.setdefault("wutta_continuum.enable_versioning", "true")
ext.startup(self.config)
make_versioned.assert_called_once()
configure_mappers.assert_called_once_with()
def test_startup_with_error(self):
ext = self.make_extension()
with patch.object(mod, "make_versioned") as make_versioned:
with patch.object(mod, "configure_mappers") as configure_mappers:
self.config.setdefault("wutta_continuum.enable_versioning", "true")
# nb. it is an error for the model to be loaded prior to
# calling make_versioned() for sqlalchemy-continuum
self.app.get_model()
self.assertRaises(RuntimeError, ext.startup, self.config)
make_versioned.assert_not_called()
configure_mappers.assert_not_called()
class TestWuttaContinuumPlugin(DataTestCase):