forked from piccolo-orm/piccolo
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_indexes.py
More file actions
31 lines (23 loc) · 928 Bytes
/
test_indexes.py
File metadata and controls
31 lines (23 loc) · 928 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from unittest import TestCase
from ..base import DBTestCase
from ..example_app.tables import Manager
class TestIndexes(DBTestCase):
def test_create_index(self):
"""
Test single column and multi column indexes.
"""
for columns in [[Manager.name], [Manager.id, Manager.name]]:
Manager.create_index(columns).run_sync()
index_name = Manager._get_index_name(
[i._meta.name for i in columns]
)
index_names = Manager.indexes().run_sync()
self.assertTrue(index_name in index_names)
Manager.drop_index(columns).run_sync()
index_names = Manager.indexes().run_sync()
self.assertTrue(index_name not in index_names)
class TestIndexName(TestCase):
def test_index_name(self):
self.assertEqual(
Manager._get_index_name(["name", "id"]), "manager_name_id"
)