Permalink
Browse files

Fixed flask tests

  • Loading branch information...
1 parent e059bf3 commit d2d8e66130f8aabf8e0e4b80a42352f8ef93c347 @mitsuhiko mitsuhiko committed May 2, 2014
@@ -37,13 +37,18 @@ def connect_db():
return rv
-@app.cli.command()
@root-11
root-11 Jul 1, 2014 Contributor

I started bug-tracing as the "old tutorial" - i.e. on the Flask website, did not launch the '/add' form.
Now I find that there are more inconsistencies, amongst others in this line, where the following error message occurs:

python flaskr.py
Traceback (most recent call last):
File "flaskr.py", line 55, in
@app.cli.command('initdb')
AttributeError: 'Flask' object has no attribute 'cli'

@untitaker
untitaker Jul 1, 2014 Member

You should create new issues for this, your comments will get lost here.

-def initdb():
- """Creates the database tables."""
+def init_db():
+ """Initializes the database."""
db = get_db()
with app.open_resource('schema.sql', mode='r') as f:
db.cursor().executescript(f.read())
db.commit()
+
+
+@app.cli.command('initdb')
+def initdb_command():
+ """Creates the database tables."""
+ init_db()
print('Initialized the database.')
@@ -21,7 +21,8 @@ def setUp(self):
self.db_fd, flaskr.app.config['DATABASE'] = tempfile.mkstemp()
flaskr.app.config['TESTING'] = True
self.app = flaskr.app.test_client()
- flaskr.init_db()
+ with flaskr.app.app_context():
+ flaskr.init_db()
def tearDown(self):
"""Get rid of the database again after each test."""
@@ -49,15 +49,21 @@ def close_database(exception):
top.sqlite_db.close()
-@app.cli.command()
-def initdb():
- """Creates the database tables."""
+def init_db():
+ """Initializes the database."""
db = get_db()
with app.open_resource('schema.sql', mode='r') as f:
db.cursor().executescript(f.read())
db.commit()
+@app.cli.command('initdb')
+def initdb_command():
+ """Creates the database tables."""
+ init_db()
+ print('Initialized the database.')
+
+
def query_db(query, args=(), one=False):
"""Queries the database and returns a list of dictionaries."""
cur = get_db().execute(query, args)
@@ -20,7 +20,8 @@ def setUp(self):
"""Before each test, set up a blank database"""
self.db_fd, minitwit.app.config['DATABASE'] = tempfile.mkstemp()
self.app = minitwit.app.test_client()
- minitwit.init_db()
+ with minitwit.app.app_context():
+ minitwit.init_db()
def tearDown(self):
"""Get rid of the database again after each test."""
View
@@ -199,9 +199,9 @@ def set_app_id(ctx, value):
value = prepare_exec_for_file(value)
elif '.' not in sys.path:
sys.path.insert(0, '.')
- ctx.obj.app_import_path = value
+ ctx.ensure_object(ScriptInfo).app_import_path = value
def set_debug(ctx, value):
- ctx.obj.debug = value
+ ctx.ensure_object(ScriptInfo).debug = value
click.Group.__init__(self, help=help, params=[
click.Option(['-a', '--app'],

0 comments on commit d2d8e66

Please sign in to comment.