test python unit-testing flask flask-login

test - flask python



prueba de la unidad del matraz: cómo probar la solicitud del usuario conectado (1)

Flask-Login busca user_id en la sesión, puede configurar esto en las pruebas usando session_transaction :

with app.test_client() as c: with c.session_transaction() as sess: sess[''user_id''] = ''myuserid'' sess[''_fresh''] = True # https://flask-login.readthedocs.org/en/latest/#fresh-logins resp = c.get(''/someurl'')

Donde myuserid es la identificación de su objeto de usuario .

Estoy escribiendo algunas pruebas de unidad para mi aplicación web Flask y estoy tratando de probar las diferencias en la respuesta entre una solicitud hecha por un usuario anónimo y un usuario conectado.

Estoy usando la extensión Flask-Login para implementar el inicio / cierre de sesión del usuario.

Obviamente, puedo realizar una solicitud anónima, pero ¿cómo simulo una solicitud de un usuario conectado?

Pensé que era suficiente enviar los encabezados a la cookie de la session , pero no funciona.

headers = Headers({''Cookie'':[''WEBSITE_ID=%s; Domain=adsabs.harvard.edu; expires=Thu, 25-Apr-2213 16:53:22 GMT; Path=/'' % cookie_value, ''WEBSITE_ID=%s; Domain=.adsabs.harvard.edu; expires=Thu, 25-Apr-2213 16:53:22 GMT; Path=/'' % cookie_value, ''session="A VERY LONG STRING"; Path=/; HttpOnly'', ]}) rv = app.test_client().get(''/'', headers=headers)

Donde el valor de la cookie de sesión es un valor que obtuve de un inicio de sesión real en mi navegador.

¿Qué me estoy perdiendo?