diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2019-06-27 10:07:04 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2019-06-27 10:08:36 -0400 |
commit | e52eb47e3916284455aed49ce9b658710c6ad8ad (patch) | |
tree | 90def53707eb9780ef20c27d1f0870bcff40f689 | |
parent | 5cf8e14d58c89fdb94c60bf5e94d8b13d296da25 (diff) | |
download | sqlalchemy-e52eb47e3916284455aed49ce9b658710c6ad8ad.tar.gz |
Remove test-within-a-test structure
These tests in of_type were relying upon generating the
polymorphic selectable from the mapper which is proving to be
more challenging to correct when that mechanism is changing.
Change-Id: I72635fab0f6f3fc7f2b712596db310648f55b04c
-rw-r--r-- | test/orm/test_of_type.py | 75 |
1 files changed, 40 insertions, 35 deletions
diff --git a/test/orm/test_of_type.py b/test/orm/test_of_type.py index c170026fa..375f70694 100644 --- a/test/orm/test_of_type.py +++ b/test/orm/test_of_type.py @@ -4,7 +4,6 @@ from sqlalchemy import ForeignKey from sqlalchemy import Integer from sqlalchemy import String from sqlalchemy import testing -from sqlalchemy.engine import default from sqlalchemy.orm import aliased from sqlalchemy.orm import contains_eager from sqlalchemy.orm import joinedload @@ -262,30 +261,33 @@ class PolymorphicPolymorphicTest( _PolymorphicTestBase, _PolymorphicPolymorphic ): def _polymorphic_join_target(self, cls): - from sqlalchemy.orm import class_mapper - - from sqlalchemy.sql.expression import FromGrouping - - m, sel = class_mapper(Person)._with_polymorphic_args(cls) - sel = FromGrouping(sel.alias(flat=True)) - comp_sel = sel.compile(dialect=default.DefaultDialect()) - return ( - comp_sel.process(sel, asfrom=True).replace("\n", "") - + " ON companies.company_id = people_1.company_id" + "(people AS people_1 LEFT OUTER JOIN engineers AS engineers_1 " + "ON people_1.person_id = engineers_1.person_id " + "LEFT OUTER JOIN managers AS managers_1 " + "ON people_1.person_id = managers_1.person_id) " + "ON companies.company_id = people_1.company_id" ) class PolymorphicUnionsTest(_PolymorphicTestBase, _PolymorphicUnions): def _polymorphic_join_target(self, cls): - from sqlalchemy.orm import class_mapper - - sel = class_mapper(Person)._with_polymorphic_selectable.element - comp_sel = sel.compile(dialect=default.DefaultDialect()) - return ( - comp_sel.process(sel, asfrom=True).replace("\n", "") - + " AS anon_1 ON companies.company_id = anon_1.company_id" + "(SELECT engineers.person_id AS person_id, " + "people.company_id AS company_id, people.name AS name, " + "people.type AS type, engineers.status AS status, " + "engineers.engineer_name AS engineer_name, " + "engineers.primary_language AS primary_language, " + "CAST(NULL AS VARCHAR(50)) AS manager_name FROM people " + "JOIN engineers ON people.person_id = engineers.person_id " + "UNION ALL SELECT managers.person_id AS person_id, " + "people.company_id AS company_id, people.name AS name, " + "people.type AS type, managers.status AS status, " + "CAST(NULL AS VARCHAR(50)) AS engineer_name, " + "CAST(NULL AS VARCHAR(50)) AS primary_language, " + "managers.manager_name AS manager_name FROM people " + "JOIN managers ON people.person_id = managers.person_id) " + "AS anon_1 ON companies.company_id = anon_1.company_id" ) @@ -293,30 +295,33 @@ class PolymorphicAliasedJoinsTest( _PolymorphicTestBase, _PolymorphicAliasedJoins ): def _polymorphic_join_target(self, cls): - from sqlalchemy.orm import class_mapper - - sel = class_mapper(Person)._with_polymorphic_selectable.element - comp_sel = sel.compile(dialect=default.DefaultDialect()) - return ( - comp_sel.process(sel, asfrom=True).replace("\n", "") - + " AS anon_1 ON companies.company_id = anon_1.people_company_id" + "(SELECT people.person_id AS people_person_id, " + "people.company_id AS people_company_id, " + "people.name AS people_name, people.type AS people_type, " + "engineers.person_id AS engineers_person_id, " + "engineers.status AS engineers_status, " + "engineers.engineer_name AS engineers_engineer_name, " + "engineers.primary_language AS engineers_primary_language, " + "managers.person_id AS managers_person_id, " + "managers.status AS managers_status, " + "managers.manager_name AS managers_manager_name " + "FROM people LEFT OUTER JOIN engineers " + "ON people.person_id = engineers.person_id " + "LEFT OUTER JOIN managers " + "ON people.person_id = managers.person_id) AS anon_1 " + "ON companies.company_id = anon_1.people_company_id" ) class PolymorphicJoinsTest(_PolymorphicTestBase, _PolymorphicJoins): def _polymorphic_join_target(self, cls): - from sqlalchemy.orm import class_mapper - from sqlalchemy.sql.expression import FromGrouping - - sel = FromGrouping( - class_mapper(Person)._with_polymorphic_selectable.alias(flat=True) - ) - comp_sel = sel.compile(dialect=default.DefaultDialect()) - return ( - comp_sel.process(sel, asfrom=True).replace("\n", "") - + " ON companies.company_id = people_1.company_id" + "(people AS people_1 LEFT OUTER JOIN engineers " + "AS engineers_1 ON people_1.person_id = engineers_1.person_id " + "LEFT OUTER JOIN managers AS managers_1 " + "ON people_1.person_id = managers_1.person_id) " + "ON companies.company_id = people_1.company_id" ) def test_joinedload_explicit_with_unaliased_poly_compile(self): |