diff options
| author | Tim Schneider <tim.schneider@nb-dev.de> | 2017-05-12 18:01:30 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-05-15 08:59:02 -0400 |
| commit | 566726ff964b004f2a6adecc1e51197bc34d78d2 (patch) | |
| tree | 82eff9d02d08f54fe04c3d75699162ff2a2f9484 /tests | |
| parent | d945b7e42a8d45cb13b1bd0420b420cf563482f1 (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.py | 1 | ||||
| -rw-r--r-- | tests/introspection/tests.py | 7 |
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): |
