Skip to content

Commit

Permalink
adding tests for multiple column indexes
Browse files Browse the repository at this point in the history
  • Loading branch information
coleifer committed Oct 3, 2012
1 parent ca7bd0b commit 22a6158
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions tests.py
Expand Up @@ -167,9 +167,20 @@ class SeqModelB(TestModel):
id = IntegerField(primary_key=True, sequence='just_testing_seq') id = IntegerField(primary_key=True, sequence='just_testing_seq')
other_num = IntegerField() other_num = IntegerField()


class MultiIndexModel(TestModel):
f1 = CharField()
f2 = CharField()
f3 = CharField()

class Meta:
indexes = (
(('f1', 'f2'), True),
(('f2', 'f3'), False),
)



MODELS = [User, Blog, Comment, Relationship, NullModel, UniqueModel, OrderedModel, Category, UserCategory, MODELS = [User, Blog, Comment, Relationship, NullModel, UniqueModel, OrderedModel, Category, UserCategory,
NonIntModel, NonIntRelModel, DBUser, DBBlog, SeqModelA, SeqModelB] NonIntModel, NonIntRelModel, DBUser, DBBlog, SeqModelA, SeqModelB, MultiIndexModel]
INT = test_db.interpolation INT = test_db.interpolation


def drop_tables(only=None): def drop_tables(only=None):
Expand Down Expand Up @@ -1133,14 +1144,24 @@ class CustomFormatsModel(Model):




class UniqueTestCase(ModelTestCase): class UniqueTestCase(ModelTestCase):
requires = [UniqueModel] requires = [UniqueModel, MultiIndexModel]


def test_unique(self): def test_unique(self):
uniq1 = UniqueModel.create(name='a') uniq1 = UniqueModel.create(name='a')
uniq2 = UniqueModel.create(name='b') uniq2 = UniqueModel.create(name='b')
self.assertRaises(Exception, UniqueModel.create, name='a') self.assertRaises(Exception, UniqueModel.create, name='a')
test_db.rollback() test_db.rollback()


def test_multi_index(self):
mi1 = MultiIndexModel.create(f1='a', f2='a', f3='a')
mi2 = MultiIndexModel.create(f1='b', f2='b', f3='b')
self.assertRaises(Exception, MultiIndexModel.create, f1='a', f2='a', f3='b')
test_db.rollback()
self.assertRaises(Exception, MultiIndexModel.create, f1='b', f2='b', f3='a')
test_db.rollback()

mi3 = MultiIndexModel.create(f1='a', f2='b', f3='b')



class NonIntPKTestCase(ModelTestCase): class NonIntPKTestCase(ModelTestCase):
requires = [NonIntModel, NonIntRelModel] requires = [NonIntModel, NonIntRelModel]
Expand Down

0 comments on commit 22a6158

Please sign in to comment.