操作
Bug(バグ) #4077
完了Backport(バックポート) #3754: テスト用のFixtureが壊れている
テスト用のFixtureが壊れている
開始日:
2015-01-06
期日:
進捗率:
100%
予定工数:
3.6 で発生するか:
Unknown (未調査)
[QA]バグ通知済:
いいえ
3.8 で発生するか:
Unknown (未調査)
opCommunityTopicPlugin 絞込条件:
説明
Overview (現象)¶
opCommunityTopicPlugin 内の任意のテストコードを実行すると下記のようなエラーが出力され異常終了する。
$ php test/unit/model/CommunityTopicTest.php PHP Fatal error: Uncaught exception 'Doctrine_Connection_Mysql_Exception' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1055' for key 'PRIMARY'' in /home/upsilon/git/openpne3/master/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1082 Stack trace: #0 /home/upsilon/git/openpne3/master/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/Statement.php(269): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Statement)) #1 /home/upsilon/git/openpne3/master/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(1042): Doctrine_Connection_Statement->execute(Array) #2 /home/upsilon/git/openpne3/master/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(687): Doctrine_Connection->exec('INSERT INTO mem...', Array) #3 /home/upsilon/git/openpne3/master/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendo in /home/upsilon/git/openpne3/master/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1082
Causes (原因)¶
b26343a6 と 1c1ac028 の各コミットで追加されたテスト用の Fixture に同じ ID のメンバーやコミュニティが含まれており、両方の Fixture が読み込まれる際に ID が衝突してエラーとなる。
Way to fix (修正内容)¶
1c1ac028 で追加された 999_xss_test_data.yml には b26343a6 で 999_test_data.yml に追加されたものとほぼ同じレコードを含んでいるため、999_xss_test_data.yml を残した上で重複するレコードを削除する。
kaoru n さんがほぼ8年前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 担当者 を kaoru n にセット
- 進捗率 を 0 から 50 に変更
https://github.com/tejimaya/opCommunityTopicPlugin/pull/24
にてプルリクエストを行いました。
isao sano さんが4年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
下記のエラーが発生する。
3.8系最新版、3.10系最新版のどちらでも発生します。
PHP Fatal error: Uncaught exception 'sfException' with message 'The "default" context does not exist.' in /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/util/sfContext.class.php:111 Stack trace: #0 /home/sano/sns/3836.sano.dazai3.pne.jp/plugins/opCommunityTopicPlugin/lib/util/opCommunityTopicPluginUtil.class.php(6): sfContext::getInstance() #1 /home/sano/sns/3836.sano.dazai3.pne.jp/plugins/opCommunityTopicPlugin/lib/model/doctrine/PluginCommunityTopicComment.class.php(42): opCommunityTopicPluginUtil::sendNewCommentNotification(Object(Member), Object(Member), '1') #2 /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Record.php(354): PluginCommunityTopicComment->postSave(Object(Doctrine_Event)) #3 /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/UnitOfWork.php(116): Doctrine_Record->invokeSaveHooks('post', 'save', Object(Doctrine_Event)) #4 /home/sano/sns/3836.sano.dazai3 in /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/util/sfContext.class.php on line 111 Fatal error: Uncaught exception 'sfException' with message 'The "default" context does not exist.' in /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/util/sfContext.class.php:111 Stack trace: #0 /home/sano/sns/3836.sano.dazai3.pne.jp/plugins/opCommunityTopicPlugin/lib/util/opCommunityTopicPluginUtil.class.php(6): sfContext::getInstance() #1 /home/sano/sns/3836.sano.dazai3.pne.jp/plugins/opCommunityTopicPlugin/lib/model/doctrine/PluginCommunityTopicComment.class.php(42): opCommunityTopicPluginUtil::sendNewCommentNotification(Object(Member), Object(Member), '1') #2 /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Record.php(354): PluginCommunityTopicComment->postSave(Object(Doctrine_Event)) #3 /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/UnitOfWork.php(116): Doctrine_Record->invokeSaveHooks('post', 'save', Object(Doctrine_Event)) #4 /home/sano/sns/3836.sano.dazai3 in /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/util/sfContext.class.php on line 111
kaoru n さんが4年以上前に更新
- ステータス を Rejected(差し戻し) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
https://github.com/tejimaya/opCommunityTopicPlugin/pull/24
更新しました。
コンフリクトしていたのでリベースも行っています。
操作