diff options
Diffstat (limited to 'lib/sqlalchemy/testing/assertions.py')
| -rw-r--r-- | lib/sqlalchemy/testing/assertions.py | 22 | 
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/sqlalchemy/testing/assertions.py b/lib/sqlalchemy/testing/assertions.py index f057ae37b..563dc2a24 100644 --- a/lib/sqlalchemy/testing/assertions.py +++ b/lib/sqlalchemy/testing/assertions.py @@ -340,12 +340,15 @@ class AssertsCompiledSQL(object):          result,          params=None,          checkparams=None, +        check_literal_execute=None, +        check_post_param=None,          dialect=None,          checkpositional=None,          check_prefetch=None,          use_default_dialect=False,          allow_dialect_select=False,          literal_binds=False, +        render_postcompile=False,          schema_translate_map=None,      ):          if use_default_dialect: @@ -377,6 +380,9 @@ class AssertsCompiledSQL(object):          if literal_binds:              compile_kwargs["literal_binds"] = True +        if render_postcompile: +            compile_kwargs["render_postcompile"] = True +          if isinstance(clause, orm.Query):              context = clause._compile_context()              context.statement.use_labels = True @@ -418,6 +424,22 @@ class AssertsCompiledSQL(object):              eq_(tuple([p[x] for x in c.positiontup]), checkpositional)          if check_prefetch is not None:              eq_(c.prefetch, check_prefetch) +        if check_literal_execute is not None: +            eq_( +                { +                    c.bind_names[b]: b.effective_value +                    for b in c.literal_execute_params +                }, +                check_literal_execute, +            ) +        if check_post_param is not None: +            eq_( +                { +                    c.bind_names[b]: b.effective_value +                    for b in c.post_compile_params +                }, +                check_post_param, +            )  class ComparesTables(object):  | 
