Mostly drop old comment schemas
[lhc/web/wiklou.git] / tests / phpunit / includes / page / WikiPageDbTestBase.php
index fee4583..933e47d 100644 (file)
@@ -135,6 +135,9 @@ abstract class WikiPageDbTestBase extends MediaWikiLangTestCase {
                }
 
                $updater->saveRevision( CommentStoreComment::newUnsavedComment( "testing" ) );
+               if ( !$updater->wasSuccessful() ) {
+                       $this->fail( $updater->getStatus()->getWikiText() );
+               }
 
                return $page;
        }
@@ -463,12 +466,13 @@ abstract class WikiPageDbTestBase extends MediaWikiLangTestCase {
                );
                $logId = $status->getValue();
                $actorQuery = ActorMigration::newMigration()->getJoin( 'log_user' );
+               $commentQuery = MediaWikiServices::getInstance()->getCommentStore()->getJoin( 'log_comment' );
                $this->assertSelect(
-                       [ 'logging' ] + $actorQuery['tables'], /* table */
+                       [ 'logging' ] + $actorQuery['tables'] + $commentQuery['tables'], /* table */
                        [
                                'log_type',
                                'log_action',
-                               'log_comment',
+                               'log_comment' => $commentQuery['fields']['log_comment_text'],
                                'log_user' => $actorQuery['fields']['log_user'],
                                'log_user_text' => $actorQuery['fields']['log_user_text'],
                                'log_namespace',
@@ -485,7 +489,7 @@ abstract class WikiPageDbTestBase extends MediaWikiLangTestCase {
                                $page->getTitle()->getDBkey(),
                        ] ],
                        [],
-                       $actorQuery['joins']
+                       $actorQuery['joins'] + $commentQuery['joins']
                );
        }
 
@@ -512,12 +516,13 @@ abstract class WikiPageDbTestBase extends MediaWikiLangTestCase {
                );
                $logId = $status->getValue();
                $actorQuery = ActorMigration::newMigration()->getJoin( 'log_user' );
+               $commentQuery = MediaWikiServices::getInstance()->getCommentStore()->getJoin( 'log_comment' );
                $this->assertSelect(
-                       [ 'logging' ] + $actorQuery['tables'], /* table */
+                       [ 'logging' ] + $actorQuery['tables'] + $commentQuery['tables'], /* table */
                        [
                                'log_type',
                                'log_action',
-                               'log_comment',
+                               'log_comment' => $commentQuery['fields']['log_comment_text'],
                                'log_user' => $actorQuery['fields']['log_user'],
                                'log_user_text' => $actorQuery['fields']['log_user_text'],
                                'log_namespace',
@@ -534,7 +539,7 @@ abstract class WikiPageDbTestBase extends MediaWikiLangTestCase {
                                $page->getTitle()->getDBkey(),
                        ] ],
                        [],
-                       $actorQuery['joins']
+                       $actorQuery['joins'] + $commentQuery['joins']
                );
        }
 
@@ -563,12 +568,13 @@ abstract class WikiPageDbTestBase extends MediaWikiLangTestCase {
                );
                $logId = $status->getValue();
                $actorQuery = ActorMigration::newMigration()->getJoin( 'log_user' );
+               $commentQuery = MediaWikiServices::getInstance()->getCommentStore()->getJoin( 'log_comment' );
                $this->assertSelect(
-                       [ 'logging' ] + $actorQuery['tables'], /* table */
+                       [ 'logging' ] + $actorQuery['tables'] + $commentQuery['tables'], /* table */
                        [
                                'log_type',
                                'log_action',
-                               'log_comment',
+                               'log_comment' => $commentQuery['fields']['log_comment_text'],
                                'log_user' => $actorQuery['fields']['log_user'],
                                'log_user_text' => $actorQuery['fields']['log_user_text'],
                                'log_namespace',
@@ -585,7 +591,7 @@ abstract class WikiPageDbTestBase extends MediaWikiLangTestCase {
                                $page->getTitle()->getDBkey(),
                        ] ],
                        [],
-                       $actorQuery['joins']
+                       $actorQuery['joins'] + $commentQuery['joins']
                );
 
                $this->assertNull(
@@ -1554,89 +1560,6 @@ more stuff
                $this->assertTrue( $page->wasLoadedFrom( IDBAccessObject::READ_EXCLUSIVE ) );
        }
 
-       /**
-        * @dataProvider provideCommentMigrationOnDeletion
-        *
-        * @param int $writeStage
-        * @param int $readStage
-        */
-       public function testCommentMigrationOnDeletion( $writeStage, $readStage ) {
-               $this->setMwGlobals( 'wgCommentTableSchemaMigrationStage', $writeStage );
-               $this->overrideMwServices();
-
-               $dbr = wfGetDB( DB_REPLICA );
-
-               $page = $this->createPage(
-                       __METHOD__,
-                       "foo",
-                       CONTENT_MODEL_WIKITEXT
-               );
-               $revid = $page->getLatest();
-               if ( $writeStage > MIGRATION_OLD ) {
-                       $comment_id = $dbr->selectField(
-                               'revision_comment_temp',
-                               'revcomment_comment_id',
-                               [ 'revcomment_rev' => $revid ],
-                               __METHOD__
-                       );
-               }
-
-               $this->setMwGlobals( 'wgCommentTableSchemaMigrationStage', $readStage );
-               $this->overrideMwServices();
-
-               $page->doDeleteArticle( "testing deletion" );
-
-               if ( $readStage > MIGRATION_OLD ) {
-                       // Didn't leave behind any 'revision_comment_temp' rows
-                       $n = $dbr->selectField(
-                               'revision_comment_temp', 'COUNT(*)', [ 'revcomment_rev' => $revid ], __METHOD__
-                       );
-                       $this->assertEquals( 0, $n, 'no entry in revision_comment_temp after deletion' );
-
-                       // Copied or upgraded the comment_id, as applicable
-                       $ar_comment_id = $dbr->selectField(
-                               'archive',
-                               'ar_comment_id',
-                               [ 'ar_rev_id' => $revid ],
-                               __METHOD__
-                       );
-                       if ( $writeStage > MIGRATION_OLD ) {
-                               $this->assertSame( $comment_id, $ar_comment_id );
-                       } else {
-                               $this->assertNotEquals( 0, $ar_comment_id );
-                       }
-               }
-
-               // Copied rev_comment, if applicable
-               if ( $readStage <= MIGRATION_WRITE_BOTH && $writeStage <= MIGRATION_WRITE_BOTH ) {
-                       $ar_comment = $dbr->selectField(
-                               'archive',
-                               'ar_comment',
-                               [ 'ar_rev_id' => $revid ],
-                               __METHOD__
-                       );
-                       $this->assertSame( 'testing', $ar_comment );
-               }
-       }
-
-       public function provideCommentMigrationOnDeletion() {
-               return [
-                       [ MIGRATION_OLD, MIGRATION_OLD ],
-                       [ MIGRATION_OLD, MIGRATION_WRITE_BOTH ],
-                       [ MIGRATION_OLD, MIGRATION_WRITE_NEW ],
-                       [ MIGRATION_WRITE_BOTH, MIGRATION_OLD ],
-                       [ MIGRATION_WRITE_BOTH, MIGRATION_WRITE_BOTH ],
-                       [ MIGRATION_WRITE_BOTH, MIGRATION_WRITE_NEW ],
-                       [ MIGRATION_WRITE_BOTH, MIGRATION_NEW ],
-                       [ MIGRATION_WRITE_NEW, MIGRATION_WRITE_BOTH ],
-                       [ MIGRATION_WRITE_NEW, MIGRATION_WRITE_NEW ],
-                       [ MIGRATION_WRITE_NEW, MIGRATION_NEW ],
-                       [ MIGRATION_NEW, MIGRATION_WRITE_BOTH ],
-                       [ MIGRATION_NEW, MIGRATION_WRITE_NEW ],
-                       [ MIGRATION_NEW, MIGRATION_NEW ],
-               ];
-       }
-
        /**
         * @covers WikiPage::updateCategoryCounts
         */
@@ -2042,7 +1965,7 @@ more stuff
                        wfTimestamp( TS_UNIX, $initialRevision->getTimestamp() ) - 1
                );
 
-               $olderRevison = new Revision(
+               $olderRevision = new Revision(
                        [
                                'id' => 9989,
                                'page' => $page->getId(),
@@ -2059,7 +1982,7 @@ more stuff
                        ]
                );
 
-               $result = $page->updateIfNewerOn( $this->db, $olderRevison );
+               $result = $page->updateIfNewerOn( $this->db, $olderRevision );
                $this->assertFalse( $result );
        }
 
@@ -2266,10 +2189,11 @@ more stuff
                // Make sure the log entry looks good
                // log_params is not checked here
                $actorQuery = ActorMigration::newMigration()->getJoin( 'log_user' );
+               $commentQuery = MediaWikiServices::getInstance()->getCommentStore()->getJoin( 'log_comment' );
                $this->assertSelect(
-                       [ 'logging' ] + $actorQuery['tables'],
+                       [ 'logging' ] + $actorQuery['tables'] + $commentQuery['tables'],
                        [
-                               'log_comment',
+                               'log_comment' => $commentQuery['fields']['log_comment_text'],
                                'log_user' => $actorQuery['fields']['log_user'],
                                'log_user_text' => $actorQuery['fields']['log_user_text'],
                                'log_namespace',
@@ -2284,7 +2208,7 @@ more stuff
                                $page->getTitle()->getDBkey(),
                        ] ],
                        [],
-                       $actorQuery['joins']
+                       $actorQuery['joins'] + $commentQuery['joins']
                );
        }