#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テスト