#Jumeaux
https://github.com/tadashi-aikawa/jumeaux/issues/115
## 要件
- レスポンスヘッダの差分チェックをできるようにする
- 無視するプロパティの指定も必要になる
## レスポンスをどこに格納するか
全員が使うわけではなければ`案1`が良さそう。[[Response Header]]なので辞書形式が保証されているため、[[JSON]]にできることは確定しているし。
- `案1`: `report.json`の中
- メリット
- ファイルが増えない (構成が複雑にならない)
- **[[Miroirアドオン]]の改修が不要**
- [[🦉Miroir]]のDetail画面で情報を取得できない
- **[[Trial table]]で[[Response Header]]の表示/フィルタリングができる..!!**
- デメリット
- `report.json`が肥大化する
- オプションでON/OFFすればそこまで大変じゃない?
- `案2`: `res_one_header`と`res_other_header`を作成してその中
- メリット
- `report.json`が肥大化しない
- デメリット
- ファイルが増える (構成が複雑になる)
- **[[Miroirアドオン]]の改修が必要**
- [[🦉Miroir]]のDetail画面で情報を取得できない
- **[[Trial table]]で[[Response Header]]の表示/フィルタリングができない**
## Coreとプラグインどちらに実装すべきか
リクエストまでの流れは変わらない。レスポンスを受け取ってからそれをどう捌くかがカギ。
- [[🦉Jumeaux]]のcore機能として実装する
- [[🦉Jumeaux]]のプラグインとして実装する
`report.json`で簡潔することを考えると、プラグインではなくCore機能として実装してよさそう。オプションで保存有無は設定できるようにする。
## やること
- 基本
- [x] レスポンスに[[Response Header]]を追加する
- [x] `report.json`に[[Response Header]]を追加する
- [x] 設定によってレスポンスヘッダの付与を決める
- [x] レスポンスヘッダのサイズ感を確かめる
- この段階で`report.json`がキツイと感じたら方向転換
- 問題なさそう
- `judgement/response_header`アドオンの追加は今のところしない
- APIによって条件変えたい場合のみなので
- 『既にSameと見なされたならそのまま』ではなく『既にDifferentと見なされたなら今回のチェックがSameでもステータスはDifferent』にしなければいけなくなり影響範囲がでかすぎる
- bodyの完全一致判定をやっている箇所で[[Response Header]]の判定をする
- [x] 指定されたkeyを予め判定基準から外す
- [x] 設定の拡張が必要 (もしくは変更)
- [x] 判定処理を書く
- [x] `regard_as_same`をbodyとheaderで分けて管理したほうがいいかも..
- 最終的に両方の値が`True`なら`Same`とする
- どちらかが`False`なら`Different`
- ホントは表示分けしたいけど影響範囲が大きいのでやらない
- [x] テストを通す
- [x] ドキュメント
- [x] e2eテスト