Supertest · ตรวจ Response Contract
Cookies และ Set-Cookie
อ่าน cookie state ที่ส่งกลับจาก server
อ่าน cookie จาก `Set-Cookie`
เมื่อ server สร้าง session cookie มันจะส่งกลับผ่าน `Set-Cookie` header ใน Supertest เราอ่านได้จาก `response.headers['set-cookie']` แล้วเลือกว่าจะตรวจชื่อ, value หรือ option ที่เป็น contract
cookie state ต้องทดสอบตาม policy
| สิ่งที่อาจ assert | เมื่อเหมาะสม | อย่าทำถ้าไม่ใช่ contract |
|---|---|---|
| ชื่อ cookie | client ต้องรู้ชื่อเพื่อส่งกลับ | เดาค่าลับทั้งก้อน |
| HttpOnly/Secure | security policy เป็น acceptance criterion | assert option ที่ adapter เพิ่มเอง |
| อายุ/Path | session scope เป็น behavior สำคัญ | ใช้เวลาตายตัวโดยไม่มีเหตุผล |
กฎสำคัญ
state
cookie ไม่เท่ากับ JWT
cookie เป็น transport/state mechanism ส่วน JWT เป็น credential format; แยกคำถามของสองระบบนี้ให้ชัด
security
อย่าพิมพ์ credential ใน report
ตรวจ pattern ที่จำเป็นและหลีกเลี่ยงการ log cookie value เต็ม ๆ ใน CI