test_client.py 517 B

12345678910111213141516171819
  1. from flask.testing import FlaskClient
  2. class FlaskLoginClient(FlaskClient):
  3. """
  4. A Flask test client that knows how to log in users
  5. using the Flask-Login extension.
  6. """
  7. def __init__(self, *args, **kwargs):
  8. user = kwargs.pop("user", None)
  9. fresh = kwargs.pop("fresh_login", True)
  10. super().__init__(*args, **kwargs)
  11. if user:
  12. with self.session_transaction() as sess:
  13. sess["_user_id"] = user.get_id()
  14. sess["_fresh"] = fresh