summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTim Schneider <tim.schneider@nb-dev.de>2017-05-12 18:01:30 +0200
committerTim Graham <timograham@gmail.com>2017-05-15 08:59:02 -0400
commit566726ff964b004f2a6adecc1e51197bc34d78d2 (patch)
tree82eff9d02d08f54fe04c3d75699162ff2a2f9484 /tests
parentd945b7e42a8d45cb13b1bd0420b420cf563482f1 (diff)
[1.11.x] Fixed #28197 -- Fixed introspection of index field ordering on PostgreSQL.
Backport of 3a5299c19cd5a38f7fa0f45ed2df7b10f0c9cf5d from master
Diffstat (limited to 'tests')
-rw-r--r--tests/introspection/models.py1
-rw-r--r--tests/introspection/tests.py7
2 files changed, 7 insertions, 1 deletions
diff --git a/tests/introspection/models.py b/tests/introspection/models.py
index b8c7a83b9f..022895df52 100644
--- a/tests/introspection/models.py
+++ b/tests/introspection/models.py
@@ -54,6 +54,7 @@ class Article(models.Model):
ordering = ('headline',)
index_together = [
["headline", "pub_date"],
+ ['headline', 'response_to', 'pub_date', 'reporter'],
]
diff --git a/tests/introspection/tests.py b/tests/introspection/tests.py
index 18283f6fbb..c4a2ef56fe 100644
--- a/tests/introspection/tests.py
+++ b/tests/introspection/tests.py
@@ -191,10 +191,14 @@ class IntrospectionTests(TransactionTestCase):
with connection.cursor() as cursor:
constraints = connection.introspection.get_constraints(cursor, Article._meta.db_table)
index = {}
+ index2 = {}
for key, val in constraints.items():
if val['columns'] == ['headline', 'pub_date']:
index = val
+ if val['columns'] == ['headline', 'response_to_id', 'pub_date', 'reporter_id']:
+ index2 = val
self.assertEqual(index['type'], Index.suffix)
+ self.assertEqual(index2['type'], Index.suffix)
@skipUnlessDBFeature('supports_index_column_ordering')
def test_get_constraints_indexes_orders(self):
@@ -208,13 +212,14 @@ class IntrospectionTests(TransactionTestCase):
['reporter_id'],
['headline', 'pub_date'],
['response_to_id'],
+ ['headline', 'response_to_id', 'pub_date', 'reporter_id'],
]
for key, val in constraints.items():
if val['index'] and not (val['primary_key'] or val['unique']):
self.assertIn(val['columns'], expected_columns)
self.assertEqual(val['orders'], ['ASC'] * len(val['columns']))
indexes_verified += 1
- self.assertEqual(indexes_verified, 3)
+ self.assertEqual(indexes_verified, 4)
def datatype(dbtype, description):