From: Aaron Schulz Date: Thu, 18 May 2017 20:16:55 +0000 (-0700) Subject: Use test user helper methods in UserGroupMembershipTest/UserTest X-Git-Tag: 1.31.0-rc.0~3181^2 X-Git-Url: http://git.cyclocoop.org/%40spipnet%40?a=commitdiff_plain;h=0f4b3764ce7d19e0397a26865b792d68f8e14c29;p=lhc%2Fweb%2Fwiklou.git 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 --- 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();