Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
概要(Overview・Refs Issue)
Cookieの持続時間は
ECCUBE_COOKIE_LIFETIME
の環境変数で指定できる。デフォルトでは0、つまりブラウザ終了でcookieが失効して再ログインが必要な設定となっている。
ec-cube/app/config/eccube/packages/eccube.yaml
Line 11 in c26bea4
テストで利用しているSymfony BrowserKitのcookieの失効条件が見直され、
$this->expires < time()
から$this->expires <= time()
となった。つまり有効期限が現在時刻のcookieは無効となった。
symfony/symfony#38360
一般的なブラウザでアクセス時はブラウザを終了しない限りcookieは保持されるが、テストで利用しているSymfony BrowserKitは
リクエスト -> 確認 -> リクエスト -> 確認 -> ...
を繰り返し、リクエストのたびにcookieの有効性が評価されるようになっている。cookieの有効期限が現在時刻だとセッションが保持されないためテストが通らなくなっていた。
影響があったテストケース
影響があるのは以下
方針(Policy)
testの環境にcookieの有効期限を設定
実装に関する補足(Appendix)
Symfony3.4.46はまだリリースされていないため現時点でテストは落ちていませんが、いずれ対応が必要になるためプルリクしました。
テスト(Test)
相談(Discussion)
マイナーバージョン互換性保持のための制限事項チェックリスト
レビュワー確認項目