]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- ensure ordering is fully maintained, [ticket:2914]
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 20 Jan 2014 20:36:45 +0000 (15:36 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 20 Jan 2014 20:36:45 +0000 (15:36 -0500)
test/orm/_fixtures.py
test/orm/test_inspect.py

index c218336196fd011375accb6dde7a3083e52df099..0f6e522d4364c102493de7d97133c1c655945151 100644 (file)
@@ -64,10 +64,13 @@ class FixtureTest(fixtures.MappedTest):
             cls.classes.CompositePk, cls.tables.nodes, \
             cls.classes.Order, cls.tables.orders, cls.tables.addresses
 
-        mapper(User, users, properties={
-            'addresses':relationship(Address, backref='user', order_by=addresses.c.id),
-            'orders':relationship(Order, backref='user', order_by=orders.c.id), # o2m, m2o
-        })
+        # use OrderedDict on this one to support some tests that
+        # assert the order of attributes (e.g. orm/test_inspect)
+        mapper(User, users, properties=util.OrderedDict(
+            [('addresses', relationship(Address, backref='user', order_by=addresses.c.id)),
+            ('orders', relationship(Order, backref='user', order_by=orders.c.id)), # o2m, m2o
+            ]
+        ))
         mapper(Address, addresses, properties={
             'dingaling':relationship(Dingaling, uselist=False, backref="address")  #o2o
         })
index ed8ab32e9dbabad6ffd869757d43bb239d7388e4..5f54579438a7d00fc469bf1ce6148d093e3bbd5b 100644 (file)
@@ -130,8 +130,8 @@ class TestORMInspection(_fixtures.FixtureTest):
         User = self.classes.User
         insp = inspect(User)
         eq_(
-            set(insp.attrs.keys()),
-            set(['addresses', 'orders', 'id', 'name', 'name_syn'])
+            list(insp.attrs.keys()),
+            ['addresses', 'orders', 'id', 'name', 'name_syn']
         )
 
     def test_col_filter(self):