Fixing test

This commit is contained in:
Ross Lawley 2011-12-07 01:16:09 -08:00
parent fbe1901e65
commit 216f15602b

View File

@ -2532,62 +2532,57 @@ class DocumentTest(unittest.TestCase):
""" DB Alias tests """ """ DB Alias tests """
# mongoenginetest - Is default connection alias from setUp() # mongoenginetest - Is default connection alias from setUp()
# Register Aliases # Register Aliases
register_connection('testdb-1', "mongoenginetest2" ) register_connection('testdb-1', 'mongoenginetest2')
register_connection('testdb-2', "mongoenginetest3" ) register_connection('testdb-2', 'mongoenginetest3')
register_connection('testdb-3', 'mongoenginetest4') register_connection('testdb-3', 'mongoenginetest4')
class User(Document): class User(Document):
name = StringField() name = StringField()
meta = {"db_alias": "testdb-1"}
class Book(Document): class Book(Document):
name = StringField() name = StringField()
meta = {"db_alias" : "testdb-1" } meta = {"db_alias": "testdb-2"}
# Drops # Drops
User.drop_collection() User.drop_collection()
Book.drop_collection() Book.drop_collection()
# Create # Create
bob = User.objects.create(name = "Bob") bob = User.objects.create(name="Bob")
hp = Book.objects.create(name = "Harry Potter") hp = Book.objects.create(name="Harry Potter")
# Selects # Selects
self.assertEqual( User.objects.first(), bob) self.assertEqual(User.objects.first(), bob)
self.assertEqual( Book.objects.first(), hp) self.assertEqual(Book.objects.first(), hp)
# DeRefecence # DeRefecence
class AuthorBooks(Document): class AuthorBooks(Document):
author = ReferenceField(User) author = ReferenceField(User)
book = ReferenceField(Book) book = ReferenceField(Book)
meta = {"db_alias" : "testdb-2" } meta = {"db_alias": "testdb-3"}
# Drops # Drops
AuthorBooks.drop_collection() AuthorBooks.drop_collection()
ab = AuthorBooks.objects.create( author = bob, book = hp) ab = AuthorBooks.objects.create(author=bob, book=hp)
# select # select
self.assertEqual( AuthorBooks.objects.first(), ab) self.assertEqual(AuthorBooks.objects.first(), ab)
self.assertEqual( AuthorBooks.objects.first().book, hp) self.assertEqual(AuthorBooks.objects.first().book, hp)
self.assertEqual( AuthorBooks.objects.first().author, bob) self.assertEqual(AuthorBooks.objects.first().author, bob)
self.assertEqual(AuthorBooks.objects.filter(author=bob).first(), ab)
self.assertEqual( AuthorBooks.objects.filter(author = bob).first() , ab) self.assertEqual(AuthorBooks.objects.filter(book=hp).first(), ab)
self.assertEqual( AuthorBooks.objects.filter(book = hp).first() , ab)
# DB Alias # DB Alias
self.assertEqual( User._get_db() , get_db()) self.assertEqual(User._get_db(), get_db("testdb-1"))
self.assertEqual( Book._get_db() , get_db("testdb-1")) self.assertEqual(Book._get_db(), get_db("testdb-2"))
self.assertEqual( AuthorBooks._get_db() , get_db("testdb-2")) self.assertEqual(AuthorBooks._get_db(), get_db("testdb-3"))
# Collections # Collections
self.assertEqual( User._get_collection() , get_db()[User._get_collection_name()] ) self.assertEqual(User._get_collection(), get_db("testdb-1")[User._get_collection_name()])
self.assertEqual( Book._get_collection() , get_db("testdb-2")[Book._get_collection_name()] ) self.assertEqual(Book._get_collection(), get_db("testdb-2")[Book._get_collection_name()])
self.assertEqual( AuthorBooks._get_collection() , get_db("testdb-2")[AuthorBooks._get_collection_name()] ) self.assertEqual(AuthorBooks._get_collection(), get_db("testdb-3")[AuthorBooks._get_collection_name()])
def test_db_ref_usage(self): def test_db_ref_usage(self):
""" DB Ref usage in __raw__ queries """ """ DB Ref usage in __raw__ queries """
@ -2597,17 +2592,17 @@ class DocumentTest(unittest.TestCase):
class Book(Document): class Book(Document):
name = StringField() name = StringField()
author = ReferenceField(User) author = ReferenceField(User)
extra = DictField() extra = DictField()
meta = { meta = {
'ordering': ['+name'] 'ordering': ['+name']
} }
def __unicode__(self): def __unicode__(self):
return self.name return self.name
def __str__(self): def __str__(self):
return self.name return self.name
# Drops # Drops
User.drop_collection() User.drop_collection()
Book.drop_collection() Book.drop_collection()
@ -2617,22 +2612,22 @@ class DocumentTest(unittest.TestCase):
jon = User.objects.create(name = "Jon") jon = User.objects.create(name = "Jon")
# Redactors # Redactors
karl = User.objects.create( name = "Karl") karl = User.objects.create(name = "Karl")
susan = User.objects.create( name = "Susan") susan = User.objects.create(name = "Susan")
peter = User.objects.create( name = "Peter") peter = User.objects.create(name = "Peter")
# Bob # Bob
Book.objects.create( name = "1", author = bob, extra = {"a": bob.to_dbref(), "b" : [karl.to_dbref(), susan.to_dbref(),] } ) Book.objects.create(name = "1", author = bob, extra = {"a": bob.to_dbref(), "b" : [karl.to_dbref(), susan.to_dbref()]} )
Book.objects.create( name = "2", author = bob, extra = {"a": bob.to_dbref(), "b" : karl.to_dbref()} ) Book.objects.create(name = "2", author = bob, extra = {"a": bob.to_dbref(), "b" : karl.to_dbref()} )
Book.objects.create( name = "3", author = bob, extra = {"a": bob.to_dbref(), "c" : [jon.to_dbref(), peter.to_dbref() ] }) Book.objects.create(name = "3", author = bob, extra = {"a": bob.to_dbref(), "c" : [jon.to_dbref(), peter.to_dbref()] })
Book.objects.create( name = "4", author = bob,) Book.objects.create(name = "4", author = bob)
# Jon # Jon
Book.objects.create( name = "5", author = jon,) Book.objects.create(name = "5", author = jon)
Book.objects.create( name = "6", author = peter,) Book.objects.create(name = "6", author = peter)
Book.objects.create( name = "7", author = jon,) Book.objects.create(name = "7", author = jon)
Book.objects.create( name = "8", author = jon,) Book.objects.create(name = "8", author = jon)
Book.objects.create( name = "9", author = jon, extra = {"a": peter.to_dbref() }) Book.objects.create(name = "9", author = jon, extra = {"a": peter.to_dbref()})
# Checks # Checks
self.assertEqual(u",".join([str(b) for b in Book.objects.all()] ) , "1,2,3,4,5,6,7,8,9" ) self.assertEqual(u",".join([str(b) for b in Book.objects.all()] ) , "1,2,3,4,5,6,7,8,9" )
@ -2642,6 +2637,7 @@ class DocumentTest(unittest.TestCase):
Q(author = bob) | Q(author = bob) |
Q(extra__b = bob ) )] ) , Q(extra__b = bob ) )] ) ,
"1,2,3,4" ) "1,2,3,4" )
# Susan & Karl related books # Susan & Karl related books
self.assertEqual(u",".join([str(b) for b in Book.objects.filter( self.assertEqual(u",".join([str(b) for b in Book.objects.filter(
Q(extra__a__all = [karl, susan] ) | Q(extra__a__all = [karl, susan] ) |
@ -2657,7 +2653,5 @@ class DocumentTest(unittest.TestCase):
) ] ) , "1,2" ) ) ] ) , "1,2" )
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()