3
0
Fork 0

fix: render db engine with password intact, for installer config

not sure when things changed, pretty sure this is a new thing?
hopefully doesn't break anything since the installer is likely dealing
with "latest" sqlalchemy
This commit is contained in:
Lance Edgar 2025-12-31 20:04:49 -06:00
parent 2713ad72e5
commit 18c23ce0ce
2 changed files with 22 additions and 1 deletions

View file

@ -170,6 +170,8 @@ class TestInstallHandler(ConfigTestCase):
def test_make_template_context(self):
handler = self.make_handler()
# can handle dburl as string
dbinfo = {"dburl": "sqlite:///poser.sqlite"}
context = handler.make_template_context(dbinfo)
self.assertEqual(context["envdir"], sys.prefix)
@ -180,6 +182,22 @@ class TestInstallHandler(ConfigTestCase):
self.assertEqual(context["appdir"], os.path.join(sys.prefix, "app"))
self.assertEqual(context["db_url"], "sqlite:///poser.sqlite")
try:
import sqlalchemy as sa
except ImportError:
pytest.skip("remainder of test is not relevant without sqlalchemy")
# but also can handle dburl as object
dbinfo = {"dburl": sa.create_engine("sqlite:///poser.sqlite").url}
context = handler.make_template_context(dbinfo)
self.assertEqual(context["envdir"], sys.prefix)
self.assertEqual(context["pkg_name"], "poser")
self.assertEqual(context["app_title"], "poser")
self.assertEqual(context["pypi_name"], "poser")
self.assertEqual(context["egg_name"], "poser")
self.assertEqual(context["appdir"], os.path.join(sys.prefix, "app"))
self.assertEqual(context["db_url"], "sqlite:///poser.sqlite")
def test_make_appdir(self):
handler = self.make_handler()
handler.templates = TemplateLookup(