From 0f4b3764ce7d19e0397a26865b792d68f8e14c29 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Thu, 18 May 2017 13:16:55 -0700 Subject: [PATCH] Use test user helper methods in UserGroupMembershipTest/UserTest This avoids postgres failures when trying to insert users with name "false" (cast to 0, which fails since integer != text type). Bug: T75174 Change-Id: I809edd94117811d22492eaba440fad6aaea1195b --- includes/user/User.php | 4 ++++ tests/phpunit/includes/user/UserGroupMembershipTest.php | 3 +-- tests/phpunit/includes/user/UserTest.php | 9 ++------- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/includes/user/User.php b/includes/user/User.php index 5dd4be1b4d..3317a1bd03 100644 --- a/includes/user/User.php +++ b/includes/user/User.php @@ -4170,6 +4170,10 @@ class User implements IDBAccessObject { $this->setToken(); // init token } + if ( !is_string( $this->mName ) ) { + throw new RuntimeException( "User name field is not set." ); + } + $this->mTouched = $this->newTouchedTimestamp(); $noPass = PasswordFactory::newInvalidPassword()->toString(); diff --git a/tests/phpunit/includes/user/UserGroupMembershipTest.php b/tests/phpunit/includes/user/UserGroupMembershipTest.php index a297f2970c..f95e38715a 100644 --- a/tests/phpunit/includes/user/UserGroupMembershipTest.php +++ b/tests/phpunit/includes/user/UserGroupMembershipTest.php @@ -50,8 +50,7 @@ class UserGroupMembershipTest extends MediaWikiTestCase { * @covers UserGroupMembership::delete */ public function testAddAndRemoveGroups() { - $user = new User; - $user->addToDatabase(); + $user = $this->getMutableTestUser()->getUser(); // basic tests $ugm = new UserGroupMembership( $user->getId(), 'unittesters' ); diff --git a/tests/phpunit/includes/user/UserTest.php b/tests/phpunit/includes/user/UserTest.php index a596851c0e..b58d71cfa1 100644 --- a/tests/phpunit/includes/user/UserTest.php +++ b/tests/phpunit/includes/user/UserTest.php @@ -25,9 +25,7 @@ class UserTest extends MediaWikiTestCase { $this->setUpPermissionGlobals(); - $this->user = new User; - $this->user->addToDatabase(); - $this->user->addGroup( 'unittesters' ); + $this->user = $this->getTestUser( [ 'unittesters' ] )->getUser(); } private function setUpPermissionGlobals() { @@ -100,10 +98,7 @@ class UserTest extends MediaWikiTestCase { * @covers User::getRights */ public function testUserGetRightsHooks() { - $user = new User; - $user->addToDatabase(); - $user->addGroup( 'unittesters' ); - $user->addGroup( 'testwriters' ); + $user = $this->getTestUser( [ 'unittesters', 'testwriters' ] )->getUser(); $userWrapper = TestingAccessWrapper::newFromObject( $user ); $rights = $user->getRights(); -- 2.20.1