Merge pull request #2326 from HndrkMkt/#2264-handle-app-factory-in-FLASK_APP
Handle app factory with arguments in FLASK_APP
This commit is contained in:
commit
090109b637
3 changed files with 113 additions and 30 deletions
15
tests/test_apps/cliapp/factory.py
Normal file
15
tests/test_apps/cliapp/factory.py
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
from __future__ import absolute_import, print_function
|
||||
|
||||
from flask import Flask
|
||||
|
||||
|
||||
def create_app():
|
||||
return Flask('create_app')
|
||||
|
||||
|
||||
def create_app2(foo, bar):
|
||||
return Flask("_".join(['create_app2', foo, bar]))
|
||||
|
||||
|
||||
def create_app3(foo, bar, script_info):
|
||||
return Flask("_".join(['create_app3', foo, bar]))
|
||||
|
|
@ -150,15 +150,37 @@ def test_locate_app(test_apps):
|
|||
script_info = ScriptInfo()
|
||||
assert locate_app(script_info, "cliapp.app").name == "testapp"
|
||||
assert locate_app(script_info, "cliapp.app:testapp").name == "testapp"
|
||||
assert locate_app(script_info, "cliapp.factory").name == "create_app"
|
||||
assert locate_app(
|
||||
script_info, "cliapp.factory").name == "create_app"
|
||||
assert locate_app(
|
||||
script_info, "cliapp.factory:create_app").name == "create_app"
|
||||
assert locate_app(
|
||||
script_info, "cliapp.factory:create_app()").name == "create_app"
|
||||
assert locate_app(
|
||||
script_info, "cliapp.factory:create_app2('foo', 'bar')"
|
||||
).name == "create_app2_foo_bar"
|
||||
assert locate_app(
|
||||
script_info, "cliapp.factory:create_app2('foo', 'bar', )"
|
||||
).name == "create_app2_foo_bar"
|
||||
assert locate_app(
|
||||
script_info, "cliapp.factory:create_app3('baz', 'qux')"
|
||||
).name == "create_app3_baz_qux"
|
||||
assert locate_app(script_info, "cliapp.multiapp:app1").name == "app1"
|
||||
pytest.raises(NoAppException, locate_app,
|
||||
script_info, "notanpp.py")
|
||||
pytest.raises(NoAppException, locate_app,
|
||||
script_info, "cliapp/app")
|
||||
pytest.raises(RuntimeError, locate_app,
|
||||
script_info, "cliapp.app:notanapp")
|
||||
pytest.raises(NoAppException, locate_app,
|
||||
script_info, "cliapp.importerrorapp")
|
||||
pytest.raises(
|
||||
NoAppException, locate_app, script_info, "notanpp.py")
|
||||
pytest.raises(
|
||||
NoAppException, locate_app, script_info, "cliapp/app")
|
||||
pytest.raises(
|
||||
RuntimeError, locate_app, script_info, "cliapp.app:notanapp")
|
||||
pytest.raises(
|
||||
NoAppException, locate_app,
|
||||
script_info, "cliapp.factory:create_app2('foo')")
|
||||
pytest.raises(
|
||||
NoAppException, locate_app,
|
||||
script_info, "cliapp.factory:create_app ()")
|
||||
pytest.raises(
|
||||
NoAppException, locate_app, script_info, "cliapp.importerrorapp")
|
||||
|
||||
|
||||
def test_find_default_import_path(test_apps, monkeypatch, tmpdir):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue