diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-08-21 13:06:56 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-08-21 13:06:56 -0400 |
commit | ec7c2b721f73f2770e2ed9ac770bc873065c1e60 (patch) | |
tree | af06ee9ac888f6157544953fff56aaa01c713c1b /tests/test_script_production.py | |
parent | 28d37a9c57e0fcdfbe129e763e8a7f1d108ed9ee (diff) | |
download | alembic-ec7c2b721f73f2770e2ed9ac770bc873065c1e60.tar.gz |
- add a test and changelog notes for the fact that a non-autogenerate
run can render Python code in upgradeops/downgradeops via the
process_revision_directives hook.
Diffstat (limited to 'tests/test_script_production.py')
-rw-r--r-- | tests/test_script_production.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/test_script_production.py b/tests/test_script_production.py index c2d180a..d2e397f 100644 --- a/tests/test_script_production.py +++ b/tests/test_script_production.py @@ -329,6 +329,26 @@ def downgrade(): ) assert os.path.exists(rev_script.path) + def test_renders_added_directives_no_autogen(self): + m = sa.MetaData() + + def process_revision_directives(context, rev, generate_revisions): + generate_revisions[0].upgrade_ops.ops.append( + ops.CreateIndexOp("some_index", "some_table", ["a", "b"]) + ) + + with self._env_fixture(process_revision_directives, m): + rev = command.revision( + self.cfg, message="some message", head="model1@head", sql=True) + + with mock.patch.object(rev.module, "op") as op_mock: + rev.module.upgrade() + eq_( + op_mock.mock_calls, + [mock.call.create_index( + 'some_index', 'some_table', ['a', 'b'], unique=False)] + ) + def test_autogen(self): m = sa.MetaData() sa.Table('t', m, sa.Column('x', sa.Integer)) |