@@ -532,15 +532,14 @@ def _ft_client(authenticator):
532532 default_login = os .environ .get ("FLASK_TESTER_DEFAULT" , None )
533533 client : Client
534534
535- if "FLASK_TESTER_URL" in os .environ :
536-
537- app_url = os .environ ["FLASK_TESTER_URL" ]
538- client = RequestClient (authenticator , app_url , default_login )
539-
540- elif "FLASK_TESTER_APP" in os .environ :
535+ app_def = os .environ .get ("FLASK_TESTER_URL" , "app" )
536+ app_def = os .environ .get ("FLASK_TESTER_APP" , app_def )
541537
538+ if app_def .startswith ("http://" ) or app_def .startswith ("https://" ):
539+ client = RequestClient (authenticator , app_def , default_login )
540+ else :
542541 # load app package
543- pkg_name , app = os . environ [ "FLASK_TESTER_APP" ] , None
542+ pkg_name , app = app_def , None
544543 app_names = ["app" , "application" , "create_app" , "make_app" ]
545544 if ":" in pkg_name : # override defaults
546545 pkg_name , app_name = pkg_name .split (":" , 1 )
@@ -557,20 +556,17 @@ def _ft_client(authenticator):
557556 raise FlaskTesterError (f"cannot find Flask app in { pkg_name } " )
558557 client = FlaskClient (authenticator , app .test_client (), default_login )
559558
560- else :
561-
562- raise FlaskTesterError ("no Flask application to test" )
563-
564559 return client
565560
566561@pytest .fixture
567562def ft_client (ft_authenticator ):
568563 """Pytest Fixture: ft_client.
569564
570- Target environment variable, one **must** be defined :
565+ Target environment variable:
571566
572- - ``FLASK_TESTER_URL``: application HTTP base URL, eg ``http://localhost:5000``.
573- - ``FLASK_TESTER_APP``: Flask application, eg ``app:create_app``.
567+ - ``FLASK_TESTER_APP``: find the Flask application, eg
568+ ``app:create_app`` for an internal test, or
569+ ``http://localhost:5000`` for an external test.
574570
575571 Other environment variable:
576572
0 commit comments