Tôi đang viết một số kiểm tra đơn vị cho ứng dụng bình của tôi và tôi cần mô phỏng yêu cầu từ người dùng đã đăng nhập (tôi đang sử dụng thông tin đăng nhập bình).kiểm tra đơn vị bình: gửi cookie sau khi sửa đổi phiên
tôi đã học here rằng để làm được điều này tôi cần phải sửa đổi phiên và thêm user id và một tham số _fresh
:
with app.test_client() as c:
with c.session_transaction() as sess:
sess['user_id'] = 'myuserid'
sess['_fresh'] = True
resp = c.get('/someurl')
Vấn đề của tôi là tôi cần phải gửi một số cookie khác nhau với yêu cầu. Giống như
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)
nhưng khi tôi thực hiện yêu cầu phiên này "biến mất" cùng với các biến tôi đã đặt.
Tôi nghĩ (và ai đó khác trên IRC có cùng ý tưởng) đó là vì định nghĩa rõ ràng của tôi về tiêu đề cookie sẽ ghi đè lên một cookie có chứa cookie session
.
Câu hỏi của tôi là: có cách nào để đặt cookie của tôi mà không xóa session
không?
Nếu không, có cách nào để trích xuất cookie session
sau khi tôi sửa đổi phiên để tôi có thể thêm nó theo cách thủ công vào danh sách cookie trong đối tượng headers
không?
Nếu nó hoạt động, bạn nên chấp nhận điều này như là câu trả lời :-) –
@SeanVieira Tôi cần đợi 2 ngày trước khi tôi có thể làm điều đó :-) –