X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Flibs%2Frdbms%2Fdatabase%2FDatabaseTest.php;h=93b1bf82baaddccee741b37ed8dc162b7905283a;hb=f6207905dc68b4a890450d11e6833a9979051a2b;hp=482ab4b5f5cbe935de8fa515e9f0feb7d38822b9;hpb=ef381994222efcc1ce9a380d340b9cb51ad458ad;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/libs/rdbms/database/DatabaseTest.php b/tests/phpunit/includes/libs/rdbms/database/DatabaseTest.php index 482ab4b5f5..93b1bf82ba 100644 --- a/tests/phpunit/includes/libs/rdbms/database/DatabaseTest.php +++ b/tests/phpunit/includes/libs/rdbms/database/DatabaseTest.php @@ -9,7 +9,6 @@ use Wikimedia\Rdbms\TransactionProfiler; use Wikimedia\TestingAccessWrapper; use Wikimedia\Rdbms\DatabaseSqlite; use Wikimedia\Rdbms\DatabasePostgres; -use Wikimedia\Rdbms\DatabaseMssql; use Wikimedia\Rdbms\DBUnexpectedError; class DatabaseTest extends PHPUnit\Framework\TestCase { @@ -37,7 +36,6 @@ class DatabaseTest extends PHPUnit\Framework\TestCase { $this->assertInstanceOf( DatabasePostgres::class, Database::factory( 'Postgres', $p, $m ) ); $x = $p + [ 'port' => 10000, 'UseWindowsAuth' => false ]; - $this->assertInstanceOf( DatabaseMssql::class, Database::factory( 'mssql', $x, $m ) ); $x = $p + [ 'dbFilePath' => 'some/file.sqlite' ]; $this->assertInstanceOf( DatabaseSqlite::class, Database::factory( 'sqlite', $x, $m ) ); @@ -568,62 +566,74 @@ class DatabaseTest extends PHPUnit\Framework\TestCase { public function testFlagSetting() { $db = $this->db; $origTrx = $db->getFlag( DBO_TRX ); - $origSsl = $db->getFlag( DBO_SSL ); + $origNoBuffer = $db->getFlag( DBO_NOBUFFER ); $origTrx ? $db->clearFlag( DBO_TRX, $db::REMEMBER_PRIOR ) : $db->setFlag( DBO_TRX, $db::REMEMBER_PRIOR ); $this->assertEquals( !$origTrx, $db->getFlag( DBO_TRX ) ); - $origSsl - ? $db->clearFlag( DBO_SSL, $db::REMEMBER_PRIOR ) - : $db->setFlag( DBO_SSL, $db::REMEMBER_PRIOR ); - $this->assertEquals( !$origSsl, $db->getFlag( DBO_SSL ) ); + $origNoBuffer + ? $db->clearFlag( DBO_NOBUFFER, $db::REMEMBER_PRIOR ) + : $db->setFlag( DBO_NOBUFFER, $db::REMEMBER_PRIOR ); + $this->assertEquals( !$origNoBuffer, $db->getFlag( DBO_NOBUFFER ) ); $db->restoreFlags( $db::RESTORE_INITIAL ); $this->assertEquals( $origTrx, $db->getFlag( DBO_TRX ) ); - $this->assertEquals( $origSsl, $db->getFlag( DBO_SSL ) ); + $this->assertEquals( $origNoBuffer, $db->getFlag( DBO_NOBUFFER ) ); $origTrx ? $db->clearFlag( DBO_TRX, $db::REMEMBER_PRIOR ) : $db->setFlag( DBO_TRX, $db::REMEMBER_PRIOR ); - $origSsl - ? $db->clearFlag( DBO_SSL, $db::REMEMBER_PRIOR ) - : $db->setFlag( DBO_SSL, $db::REMEMBER_PRIOR ); + $origNoBuffer + ? $db->clearFlag( DBO_NOBUFFER, $db::REMEMBER_PRIOR ) + : $db->setFlag( DBO_NOBUFFER, $db::REMEMBER_PRIOR ); $db->restoreFlags(); - $this->assertEquals( $origSsl, $db->getFlag( DBO_SSL ) ); + $this->assertEquals( $origNoBuffer, $db->getFlag( DBO_NOBUFFER ) ); $this->assertEquals( !$origTrx, $db->getFlag( DBO_TRX ) ); $db->restoreFlags(); - $this->assertEquals( $origSsl, $db->getFlag( DBO_SSL ) ); + $this->assertEquals( $origNoBuffer, $db->getFlag( DBO_NOBUFFER ) ); $this->assertEquals( $origTrx, $db->getFlag( DBO_TRX ) ); } + public function provideImmutableDBOFlags() { + return [ + [ Database::DBO_IGNORE ], + [ Database::DBO_DEFAULT ], + [ Database::DBO_PERSISTENT ] + ]; + } + /** - * @expectedException UnexpectedValueException + * @expectedException DBUnexpectedError * @covers Wikimedia\Rdbms\Database::setFlag + * @dataProvider provideImmutableDBOFlags + * @param int $flag */ - public function testDBOIgnoreSet() { + public function testDBOCannotSet( $flag ) { $db = $this->getMockBuilder( DatabaseMysqli::class ) ->disableOriginalConstructor() ->setMethods( null ) ->getMock(); - $db->setFlag( Database::DBO_IGNORE ); + $db->setFlag( $flag ); } /** - * @expectedException UnexpectedValueException + * @expectedException DBUnexpectedError * @covers Wikimedia\Rdbms\Database::clearFlag + * @dataProvider provideImmutableDBOFlags + * @param int $flag */ - public function testDBOIgnoreClear() { + public function testDBOCannotClear( $flag ) { $db = $this->getMockBuilder( DatabaseMysqli::class ) ->disableOriginalConstructor() ->setMethods( null ) ->getMock(); - $db->clearFlag( Database::DBO_IGNORE ); + $db->clearFlag( $flag ); } /**