From 21856d349b5a753276916bbf930116b012410278 Mon Sep 17 00:00:00 2001 From: Umherirrender Date: Wed, 8 May 2024 23:27:23 +0200 Subject: [PATCH] tests: Migrate assertSelect() to SelectQueryBuilder Change-Id: I5201dbeb940679c932f08eadf7431e1a57b8ee8f --- ...dExtensionSchemaUpdatesHookHandlerTest.php | 12 +++---- .../UnexpectedUnconnectedPagePrimerTest.php | 34 ++++++++----------- ...eUnexpectedUnconnectedPagePagePropTest.php | 22 +++++------- .../DatabaseInnerTermStoreCleanerTest.php | 33 +++++++++++------- 4 files changed, 49 insertions(+), 52 deletions(-) diff --git a/client/tests/phpunit/integration/includes/Hooks/LoadExtensionSchemaUpdatesHookHandlerTest.php b/client/tests/phpunit/integration/includes/Hooks/LoadExtensionSchemaUpdatesHookHandlerTest.php index d73859fbfe..5e48f9b9b8 100644 --- a/client/tests/phpunit/integration/includes/Hooks/LoadExtensionSchemaUpdatesHookHandlerTest.php +++ b/client/tests/phpunit/integration/includes/Hooks/LoadExtensionSchemaUpdatesHookHandlerTest.php @@ -78,16 +78,14 @@ public function testOnLoadExtensionSchemaUpdates() { $dbUpdater->runUpdates( $dbUpdater->getExtensionUpdates(), true ); - $this->assertSelect( - 'page_props', - [ 'pp_page', 'pp_propname', 'pp_value', 'pp_sortkey' ], - IDatabase::ALL_ROWS, - [ + $this->newSelectQueryBuilder() + ->select( [ 'pp_page', 'pp_propname', 'pp_value', 'pp_sortkey' ] ) + ->from( 'page_props' ) + ->assertResultSet( [ [ 10, 'unexpectedUnconnectedPage', $namespaceString, $namespaceFloat ], // 20 is not in a Wikibase NS [ 30, 'unexpectedUnconnectedPage', $namespaceString, $namespaceFloat ], - ] - ); + ] ); $this->assertTrue( $dbUpdater->updateRowExists( LoadExtensionSchemaUpdatesHookHandler::UPDATE_KEY_UNEXPECTED_UNCONNECTED_PAGE ) ); diff --git a/client/tests/phpunit/integration/includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php b/client/tests/phpunit/integration/includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php index b63ecad474..ff65bd57b6 100644 --- a/client/tests/phpunit/integration/includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php +++ b/client/tests/phpunit/integration/includes/Store/Sql/UnexpectedUnconnectedPagePrimerTest.php @@ -172,12 +172,10 @@ public function testInsertPageProp( } $primer->setPageProps(); - $this->assertSelect( - 'page_props', - [ 'pp_page', 'pp_propname', 'pp_value', 'pp_sortkey' ], - IDatabase::ALL_ROWS, - $expectedPageProps - ); + $this->newSelectQueryBuilder() + ->select( [ 'pp_page', 'pp_propname', 'pp_value', 'pp_sortkey' ] ) + ->from( 'page_props' ) + ->assertResultSet( $expectedPageProps ); } public function testInsertPageProp_continue(): void { @@ -200,32 +198,28 @@ public function testInsertPageProp_continue(): void { // first run $primer->setMaxPageId( 2 ); $primer->setPageProps(); - $this->assertSelect( - 'page_props', - [ 'pp_page', 'pp_propname', 'pp_value', 'pp_sortkey' ], - IDatabase::ALL_ROWS, - [ + $this->newSelectQueryBuilder() + ->select( [ 'pp_page', 'pp_propname', 'pp_value', 'pp_sortkey' ] ) + ->from( 'page_props' ) + ->assertResultSet( [ [ 1, 'expectedUnconnectedPage', '', 0.0 ], [ 2, 'unexpectedUnconnectedPage', $namespaceString, $namespaceFloat ], [ 3, 'wikibase_item', '', 0.0 ], // 4 not yet processed - ] - ); + ] ); $primer->setMinPageId( 3 ); $primer->setMaxPageId( 4 ); $primer->setPageProps(); - $this->assertSelect( - 'page_props', - [ 'pp_page', 'pp_propname', 'pp_value', 'pp_sortkey' ], - IDatabase::ALL_ROWS, - [ + $this->newSelectQueryBuilder() + ->select( [ 'pp_page', 'pp_propname', 'pp_value', 'pp_sortkey' ] ) + ->from( 'page_props' ) + ->assertResultSet( [ [ 1, 'expectedUnconnectedPage', '', 0.0 ], [ 2, 'unexpectedUnconnectedPage', $namespaceString, $namespaceFloat ], [ 3, 'wikibase_item', '', 0.0 ], [ 4, 'unexpectedUnconnectedPage', $namespaceString, $namespaceFloat ], - ] - ); + ] ); } /** diff --git a/client/tests/phpunit/integration/maintenance/PopulateUnexpectedUnconnectedPagePagePropTest.php b/client/tests/phpunit/integration/maintenance/PopulateUnexpectedUnconnectedPagePagePropTest.php index 03d58f8193..7aacd05c15 100644 --- a/client/tests/phpunit/integration/maintenance/PopulateUnexpectedUnconnectedPagePagePropTest.php +++ b/client/tests/phpunit/integration/maintenance/PopulateUnexpectedUnconnectedPagePagePropTest.php @@ -81,12 +81,10 @@ public function testExecute(): void { $this->maintenance->loadWithArgv( [] ); $this->maintenance->execute(); - $this->assertSelect( - 'page_props', - [ 'pp_page', 'pp_propname', 'pp_value', 'pp_sortkey' ], - IDatabase::ALL_ROWS, - $expected - ); + $this->newSelectQueryBuilder() + ->select( [ 'pp_page', 'pp_propname', 'pp_value', 'pp_sortkey' ] ) + ->from( 'page_props' ) + ->assertResultSet( $expected ); } public function testExecute_paging(): void { @@ -106,18 +104,16 @@ public function testExecute_paging(): void { $this->maintenance->loadWithArgv( $argv ); $this->maintenance->execute(); - $this->assertSelect( - 'page_props', - [ 'pp_page', 'pp_propname', 'pp_value', 'pp_sortkey' ], - IDatabase::ALL_ROWS, - [ + $this->newSelectQueryBuilder() + ->select( [ 'pp_page', 'pp_propname', 'pp_value', 'pp_sortkey' ] ) + ->from( 'page_props' ) + ->assertResultSet( [ [ 1, 'expectedUnconnectedPage', '', 0.0 ], // 2 is excluded [ 3, 'wikibase_item', '', 0.0 ], [ 4, 'unexpectedUnconnectedPage', $namespaceString, $namespaceFloat ], // 101 is excluded - ] - ); + ] ); } /** diff --git a/lib/tests/phpunit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php b/lib/tests/phpunit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php index 2d36cae390..d159760a9a 100644 --- a/lib/tests/phpunit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php +++ b/lib/tests/phpunit/Store/Sql/Terms/DatabaseInnerTermStoreCleanerTest.php @@ -43,10 +43,22 @@ public function testCleanupEverything() { $this->getCleaner()->cleanTermInLangIds( $this->db, $this->db, [ $termInLang1Id, $termInLang2Id ] ); - $this->assertSelect( 'wbt_text', 'wbx_id', '*', [] ); - $this->assertSelect( 'wbt_text_in_lang', 'wbxl_id', '*', [] ); - $this->assertSelect( 'wbt_term_in_lang', 'wbtl_id', '*', [] ); - $this->assertSelect( 'wbt_type', 'wby_name', '*', [ [ 'label' ] ] ); + $this->newSelectQueryBuilder() + ->select( 'wbx_id' ) + ->from( 'wbt_text' ) + ->assertEmptyResult(); + $this->newSelectQueryBuilder() + ->select( 'wbxl_id' ) + ->from( 'wbt_text_in_lang' ) + ->assertEmptyResult(); + $this->newSelectQueryBuilder() + ->select( 'wbtl_id' ) + ->from( 'wbt_term_in_lang' ) + ->assertEmptyResult(); + $this->newSelectQueryBuilder() + ->select( 'wby_name' ) + ->from( 'wbt_type' ) + ->assertFieldValue( 'label' ); } public function testCleanupTermInLangButNoTextInLang() { @@ -246,18 +258,15 @@ public function testT237984_sharedTextIdsAreNotDeleted() { } private function assertTableReturns( array $elements, string $table, string $field ) { - $this->assertSelect( - $table, - $field, - '*', - array_map( + $this->newSelectQueryBuilder() + ->select( $field ) + ->from( $table ) + ->assertResultSet( array_map( function( $element ) { return [ $element ]; }, $elements - ), - [ 'ORDER BY' => $field ] - ); + ) ); } private function assertTextTableReturns( array $elements ) {