summaryrefslogtreecommitdiff
path: root/tests/indexes
diff options
context:
space:
mode:
authorHannes Ljungberg <hannes@5monkeys.se>2019-11-07 21:25:48 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-11-08 08:35:39 +0100
commitd5af43c8d1de7bc21e6e01f31e711c02a5059a5a (patch)
treefd48dd49e987f5dd2365943866e13377ce7f6f81 /tests/indexes
parent58c1acb1d6054dfec29d0f30b1033bae6ef62aec (diff)
downloaddjango-d5af43c8d1de7bc21e6e01f31e711c02a5059a5a.tar.gz
Refs #30961 -- Added tests for columns list SQL generated for indexes.
Diffstat (limited to 'tests/indexes')
-rw-r--r--tests/indexes/tests.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/indexes/tests.py b/tests/indexes/tests.py
index 588feaddff..799146d6a8 100644
--- a/tests/indexes/tests.py
+++ b/tests/indexes/tests.py
@@ -75,6 +75,14 @@ class SchemaIndexesTests(TestCase):
index_sql = connection.schema_editor()._model_indexes_sql(IndexTogetherSingleList)
self.assertEqual(len(index_sql), 1)
+ def test_columns_list_sql(self):
+ index = Index(fields=['headline'], name='whitespace_idx')
+ editor = connection.schema_editor()
+ self.assertIn(
+ '(%s)' % editor.quote_name('headline'),
+ str(index.create_sql(Article, editor)),
+ )
+
@skipIf(connection.vendor == 'postgresql', 'opclasses are PostgreSQL only')
class SchemaIndexesNotPostgreSQLTests(TransactionTestCase):
@@ -223,6 +231,18 @@ class SchemaIndexesPostgreSQLTests(TransactionTestCase):
cursor.execute(self.get_opclass_query % indexname)
self.assertCountEqual(cursor.fetchall(), [('text_pattern_ops', indexname)])
+ def test_ops_class_descending_columns_list_sql(self):
+ index = Index(
+ fields=['-headline'],
+ name='whitespace_idx',
+ opclasses=['text_pattern_ops'],
+ )
+ with connection.schema_editor() as editor:
+ self.assertIn(
+ '(%s text_pattern_ops DESC)' % editor.quote_name('headline'),
+ str(index.create_sql(Article, editor)),
+ )
+
@skipUnless(connection.vendor == 'mysql', 'MySQL tests')
class SchemaIndexesMySQLTests(TransactionTestCase):