Ich schreibe einige unit-tests für meine flask-anwendung und ich muss eine anfrage von einem angemeldeten benutzer simulieren (ich benutze flask login).flascheneinheit test: sende cookies nach dem ändern der sitzung
Ich lernte here, dass dies muss ich ändern, um die Sitzung und fügen Sie den Benutzer-ID und ein _fresh
Parameter zu tun:
with app.test_client() as c:
with c.session_transaction() as sess:
sess['user_id'] = 'myuserid'
sess['_fresh'] = True
resp = c.get('/someurl')
Mein Problem ist, dass ich senden einige andere Cookies zusammen mit dem Antrag. So etwas wie
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)
aber wenn ich diese Anforderung erfüllen die Sitzung „verschwindet“ zusammen mit den Variablen I festgelegt.
Ich denke (und jemand anderes im IRC hat die gleiche Idee), weil meine explizite Definition des Cookie-Headers den Cookie mit dem session
Cookie überschreibt.
Meine Frage ist: Gibt es eine Möglichkeit, meinen Cookie zu setzen, ohne die session
einen zu entfernen?
Wenn nicht, gibt es eine Möglichkeit, den Cookie session
zu extrahieren, nachdem ich die Sitzung geändert habe, sodass ich sie manuell zur Liste der Cookies im Objekt headers
hinzufügen kann? diese
Wenn es geklappt hat sollte man das als Antwort akzeptieren :-) –
@SeanVieira Ich muss 2 Tage warten bevor ich es machen kann :-) –