フラスコ アプリケーションの単体テストを書いていますが、ログインしているユーザーからの要求をシミュレートする必要があります (フラスコ ログインを使用しています)。
これを行うには、セッションを変更し、ユーザー ID とパラメーターを追加する必要があることをここで学び ました。_fresh
with app.test_client() as c:
with c.session_transaction() as sess:
sess['user_id'] = 'myuserid'
sess['_fresh'] = True
resp = c.get('/someurl')
私の問題は、リクエストと一緒に他の Cookie を送信する必要があることです。何かのようなもの
headers = Headers({'Cookie':'MYCOOKIE=cookie_value;'})
with app.test_client() as c:
with c.session_transaction() as sess:
sess['user_id'] = 'myuserid'
sess['_fresh'] = True
resp = c.get('/someurl', headers=headers)
しかし、このリクエストを実行すると、設定した変数とともにセッションが「消えます」。
私は(そしてIRCの他の誰かが同じ考えを持っている)と思います.これは、Cookieヘッダーの私の明示的な定義がCookieを含むものを上書きするためsession
です.
私の質問は、Cookie を削除せずに Cookie を設定する方法はありsession
ますか?
そうでない場合、オブジェクトsession
の Cookie のリストに手動で追加できるように、セッションを変更した後に Cookieを抽出する方法はありますか?headers