diff options
author | CaselIT <cfederico87@gmail.com> | 2021-06-15 22:32:05 +0200 |
---|---|---|
committer | CaselIT <cfederico87@gmail.com> | 2021-06-15 23:38:07 +0200 |
commit | 7756b35e23ec11b64a1ac37afcb41dda3ca29913 (patch) | |
tree | a2c46870a195f22c7489bface5a890cf90acff5c /tests/test_script_production.py | |
parent | c0f0a3238fe1ec8029d66ad6ac518b60c78c36ed (diff) | |
download | alembic-7756b35e23ec11b64a1ac37afcb41dda3ca29913.tar.gz |
Revendor editor and make dateutil optional
Re-implemented the ``python-editor`` dependency as a small internal
function to avoid the need for external dependencies.
The implementation is based on the original
version in 7b91b325ff43a0e9235e0f15b57391fa92352626.
Make the ``python-dateutil`` library an optional dependency.
This library is only required if the ``timezone`` option
is used in the Alembic configuration.
An extra require named ``tz`` is available with
``pip install alembic[tz]`` to install it.
Fixes: #674
Fixes: #856
Change-Id: I07f17b2fea01e3a3d677ce95333fe3e8d8d438fd
Diffstat (limited to 'tests/test_script_production.py')
-rw-r--r-- | tests/test_script_production.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/test_script_production.py b/tests/test_script_production.py index 15d9366..2edae26 100644 --- a/tests/test_script_production.py +++ b/tests/test_script_production.py @@ -15,6 +15,7 @@ from alembic.script import ScriptDirectory from alembic.testing import assert_raises_message from alembic.testing import assertions from alembic.testing import eq_ +from alembic.testing import expect_raises_message from alembic.testing import is_ from alembic.testing import mock from alembic.testing import ne_ @@ -34,6 +35,10 @@ from alembic.testing.env import write_script from alembic.testing.fixtures import TestBase from alembic.util import CommandError +try: + from unittest.mock import patch +except ImportError: + from mock import patch # noqa env, abc, def_ = None, None, None @@ -250,6 +255,17 @@ class ScriptNamingTest(TestBase): datetime.datetime(2012, 7, 25, 15, 8, 5), ) + def test_no_dateutil_module(self): + with patch("alembic.script.base.tz", new=None): + with expect_raises_message( + CommandError, "The library 'python-dateutil' is required" + ): + self._test_tz( + "utc", + datetime.datetime(2012, 7, 25, 15, 8, 5), + datetime.datetime(2012, 7, 25, 15, 8, 5), + ) + class RevisionCommandTest(TestBase): def setUp(self): |