プロジェクト

全般

プロフィール

Backport(バックポート) #3813

完了

デフォルトの OpenPNE.yml によって sf_factory_storage が設定されるため、 test 環境用のセッションストレージである sfSessionTestStorage が利用されず、セッションが発行されなくなる

Chiharu Nakajima さんが9年以上前に追加. 約9年前に更新.

ステータス:
Fixed(完了)
優先度:
High(高め)
対象バージョン:
開始日:
2013-09-04
期日:
進捗率:

100%

予定工数:

説明

現象

セッションを database に保持する設定とした場合、デフォルトの OpenPNE.yml 設定によって sf_factory_storage として opPDODatabaseSessionStorage が設定される。これによって、 factories.yml の設定を変更することなく、このセッションストレージクラスが使用されることになる。

だが、これには、 test 環境でもこのストレージクラスが使用されてしまうという問題がある。 symfony デフォルトの factories.yml においては、 test 環境用の sfSessionTestStorage を使用するような配慮がなされているが、 OpenPNE.yml のデフォルト設定によって無力化してしまう。これによって、

  • 機能テストの出力の存在をストレージクラスが考慮せず、セッションの開始が拒否される
  • セッションの継続ができない

などといった問題が生じる。

原因

バグが発生した原因を記入

修正案

解決策としては「sf_factory_storage の設定内容に応じた test 環境用のラッパークラスを作成する」「test 環境では OpenPNE.yml のセッションストレージの上書きを無効にする」のどちらかを選択することになるが、実装の容易さ等を考慮し、後者を選択することが適当と思われる。


ファイル


関連するチケット 1 (0件未完了1件完了)

コピー元 OpenPNE 3 - Bug(バグ) #3391: デフォルトの OpenPNE.yml によって sf_factory_storage が設定されるため、 test 環境用のセッションストレージである sfSessionTestStorage が利用されず、セッションが発行されなくなるFixed(完了)Chiharu Nakajima2013-09-04

操作

他の形式にエクスポート: Atom PDF