From bc5e7bb2f937c7821ea33683b87c31ce0ee51a20 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Sun, 4 Jan 2026 23:07:54 -0600 Subject: [PATCH] fix: make pylint happy; fix test around continuum feature --- src/wuttjamaican/install.py | 7 ++---- tests/test_install.py | 45 ++++++++++++++++++++----------------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/src/wuttjamaican/install.py b/src/wuttjamaican/install.py index a6d004a..ac1ef04 100644 --- a/src/wuttjamaican/install.py +++ b/src/wuttjamaican/install.py @@ -231,7 +231,7 @@ class InstallHandler(GenericHandler): # pylint: disable=too-many-public-methods # continuum if self.wants_continuum is None: try: - import wutta_continuum + import wutta_continuum # pylint: disable=import-outside-toplevel,unused-import except ImportError: self.wants_continuum = False else: @@ -258,10 +258,7 @@ class InstallHandler(GenericHandler): # pylint: disable=too-many-public-methods """ # get db info/url dbinfo = self.get_dbinfo() - if "db_url" in dbinfo: - db_url = dbinfo["db_url"] - else: - db_url = self.make_db_url(dbinfo) + db_url = dbinfo.get("db_url", self.make_db_url(dbinfo)) # test db connection self.rprint("\n\ttesting db connection... ", end="") diff --git a/tests/test_install.py b/tests/test_install.py index 178683b..9bdb453 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -86,37 +86,42 @@ class TestInstallHandler(ConfigTestCase): # should prompt for continuum by default handler = self.make_handler() - with patch.object(handler, "prompt_bool") as prompt_bool: - prompt_bool.return_value = True - context = handler.prompt_user_for_context() - prompt_bool.assert_called_once_with( - "use continuum for data versioning?", default=False - ) - self.assertEqual(context, {"db_url": db_url, "wants_continuum": True}) - - # should not prompt if continuum flag already true - handler = self.make_handler() - with patch.object(handler, "wants_continuum", new=True): + with patch("builtins.__import__"): # nb. pretend import is ok with patch.object(handler, "prompt_bool") as prompt_bool: + prompt_bool.return_value = True context = handler.prompt_user_for_context() - prompt_bool.assert_not_called() + prompt_bool.assert_called_once_with( + "use continuum for data versioning?", default=False + ) self.assertEqual( context, {"db_url": db_url, "wants_continuum": True} ) + # should not prompt if continuum flag already true + handler = self.make_handler() + with patch("builtins.__import__"): # nb. pretend import is ok + with patch.object(handler, "wants_continuum", new=True): + with patch.object(handler, "prompt_bool") as prompt_bool: + context = handler.prompt_user_for_context() + prompt_bool.assert_not_called() + self.assertEqual( + context, {"db_url": db_url, "wants_continuum": True} + ) + # should not prompt if continuum flag already false handler = self.make_handler() - with patch.object(handler, "wants_continuum", new=False): - with patch.object(handler, "prompt_bool") as prompt_bool: - context = handler.prompt_user_for_context() - prompt_bool.assert_not_called() - self.assertEqual( - context, {"db_url": db_url, "wants_continuum": False} - ) + with patch("builtins.__import__"): # nb. pretend import is ok + with patch.object(handler, "wants_continuum", new=False): + with patch.object(handler, "prompt_bool") as prompt_bool: + context = handler.prompt_user_for_context() + prompt_bool.assert_not_called() + self.assertEqual( + context, {"db_url": db_url, "wants_continuum": False} + ) # should not prompt if continuum pkg missing... handler = self.make_handler() - with patch("builtins.__import__", side_effect=ImportError): + with patch("builtins.__import__", side_effect=ImportError): # import fails with patch.object(handler, "prompt_bool") as prompt_bool: context = handler.prompt_user_for_context() prompt_bool.assert_not_called()