11import sys
2- sys .path [0 :0 ] = ["" ]
32
43import unittest
54import datetime
65import flask
76
87from flask .ext .mongoengine import MongoEngine
8+ from . import FlaskMongoEngineTestCase
99
1010
11- class BasicAppTestCase (unittest . TestCase ):
11+ class BasicAppTestCase (FlaskMongoEngineTestCase ):
1212
1313 def setUp (self ):
14- app = flask .Flask (__name__ )
15- app .config ['MONGODB_DB' ] = 'testing'
16- app .config ['TESTING' ] = True
14+ super (BasicAppTestCase , self ).setUp ()
1715 db = MongoEngine ()
1816
1917 class Todo (db .Document ):
@@ -22,53 +20,54 @@ class Todo(db.Document):
2220 done = db .BooleanField (default = False )
2321 pub_date = db .DateTimeField (default = datetime .datetime .now )
2422
25- db .init_app (app )
23+ db .init_app (self . app )
2624
2725 Todo .drop_collection ()
2826 self .Todo = Todo
2927
30- @app .route ('/' )
28+ @self . app .route ('/' )
3129 def index ():
3230 return '\n ' .join (x .title for x in self .Todo .objects )
3331
34- @app .route ('/add' , methods = ['POST' ])
32+ @self . app .route ('/add' , methods = ['POST' ])
3533 def add ():
3634 form = flask .request .form
3735 todo = self .Todo (title = form ['title' ],
3836 text = form ['text' ])
3937 todo .save ()
4038 return 'added'
4139
42- @app .route ('/show/<id>/' )
40+ @self . app .route ('/show/<id>/' )
4341 def show (id ):
4442 todo = self .Todo .objects .get_or_404 (id = id )
4543 return '\n ' .join ([todo .title , todo .text ])
4644
47- self .app = app
4845 self .db = db
4946
5047 def test_connection_kwargs (self ):
51- app = flask .Flask (__name__ )
52- app .config ['MONGODB_SETTINGS' ] = {
48+ self .app .config ['MONGODB_SETTINGS' ] = {
5349 'DB' : 'testing_tz_aware' ,
54- 'alias ' : 'tz_aware_true' ,
50+ 'ALIAS ' : 'tz_aware_true' ,
5551 'TZ_AWARE' : True
5652 }
57- app .config ['TESTING' ] = True
53+ self . app .config ['TESTING' ] = True
5854 db = MongoEngine ()
59- db .init_app (app )
55+ db .init_app (self . app )
6056 self .assertTrue (db .connection .tz_aware )
6157
62- app .config ['MONGODB_SETTINGS' ] = {
58+ # PyMongo defaults to tz_aware = True so we have to explicitly turn
59+ # it off.
60+ self .app .config ['MONGODB_SETTINGS' ] = {
6361 'DB' : 'testing' ,
64- 'alias' : 'tz_aware_false' ,
62+ 'ALIAS' : 'tz_aware_false' ,
63+ 'TZ_AWARE' : False
6564 }
66- db .init_app (app )
65+ db = MongoEngine ()
66+ db .init_app (self .app )
6767 self .assertFalse (db .connection .tz_aware )
6868
6969 def test_connection_kwargs_as_list (self ):
70- app = flask .Flask (__name__ )
71- app .config ['MONGODB_SETTINGS' ] = [{
70+ self .app .config ['MONGODB_SETTINGS' ] = [{
7271 'DB' : 'testing_tz_aware' ,
7372 'alias' : 'tz_aware_true' ,
7473 'TZ_AWARE' : True
@@ -77,23 +76,22 @@ def test_connection_kwargs_as_list(self):
7776 'alias' : 'tz_aware_false' ,
7877 'TZ_AWARE' : False
7978 }]
80- app .config ['TESTING' ] = True
79+ self . app .config ['TESTING' ] = True
8180 db = MongoEngine ()
82- db .init_app (app )
81+ db .init_app (self . app )
8382 self .assertTrue (db .connection ['tz_aware_true' ].tz_aware )
8483 self .assertFalse (db .connection ['tz_aware_false' ].tz_aware )
8584
8685 def test_connection_default (self ):
87- app = flask .Flask (__name__ )
88- app .config ['MONGODB_SETTINGS' ] = {}
89- app .config ['TESTING' ] = True
86+ self .app .config ['MONGODB_SETTINGS' ] = {}
87+ self .app .config ['TESTING' ] = True
9088
9189 db = MongoEngine ()
92- db .init_app (app )
90+ db .init_app (self . app )
9391
94- app .config ['TESTING' ] = True
92+ self . app .config ['TESTING' ] = True
9593 db = MongoEngine ()
96- db .init_app (app )
94+ db .init_app (self . app )
9795
9896 def test_with_id (self ):
9997 c = self .app .test_client ()
0 commit comments