Add @covers for main Database test types

Change-Id: I010ff5ce7afd85c7f9d528a98f2448547874b8b3
This commit is contained in:
addshore 2013-10-18 12:36:09 +02:00
parent 8c6e090133
commit 26e52f0c49
4 changed files with 67 additions and 6 deletions

View file

@ -58,6 +58,7 @@ class DatabaseMysqlBaseTest extends MediaWikiTestCase {
/**
* @dataProvider provideDiapers
* @covers DatabaseMysqlBase::addIdentifierQuotes
*/
function testAddIdentifierQuotes( $expected, $in ) {
$db = new FakeDatabaseMysqlBase();

View file

@ -6,6 +6,9 @@
*/
class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @var DatabaseTestHelper
*/
private $database;
protected function setUp() {
@ -22,6 +25,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideSelect
* @covers DatabaseBase::select
*/
function testSelect( $sql, $sqlText ) {
$this->database->select(
@ -123,6 +127,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideUpdate
* @covers DatabaseBase::update
*/
function testUpdate( $sql, $sqlText ) {
$this->database->update(
@ -174,6 +179,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideDelete
* @covers DatabaseBase::delete
*/
function testDelete( $sql, $sqlText ) {
$this->database->delete(
@ -206,6 +212,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideUpsert
* @covers DatabaseBase::upsert
*/
function testUpsert( $sql, $sqlText ) {
$this->database->upsert(
@ -241,6 +248,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideDeleteJoin
* @covers DatabaseBase::deleteJoin
*/
function testDeleteJoin( $sql, $sqlText ) {
$this->database->deleteJoin(
@ -287,6 +295,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideInsert
* @covers DatabaseBase::insert
*/
function testInsert( $sql, $sqlText ) {
$this->database->insert(
@ -339,6 +348,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideInsertSelect
* @covers DatabaseBase::insertSelect
*/
function testInsertSelect( $sql, $sqlText ) {
$this->database->insertSelect(
@ -401,6 +411,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideReplace
* @covers DatabaseBase::replace
*/
function testReplace( $sql, $sqlText ) {
$this->database->replace(
@ -515,6 +526,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideNativeReplace
* @covers DatabaseBase::nativeReplace
*/
function testNativeReplace( $sql, $sqlText ) {
$this->database->nativeReplace(
@ -541,6 +553,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideConditional
* @covers DatabaseBase::conditional
*/
function testConditional( $sql, $sqlText ) {
$this->assertEquals( trim( $this->database->conditional(
@ -581,6 +594,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideBuildConcat
* @covers DatabaseBase::buildConcat
*/
function testBuildConcat( $stringList, $sqlText ) {
$this->assertEquals( trim( $this->database->buildConcat(
@ -603,6 +617,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideBuildLike
* @covers DatabaseBase::buildLike
*/
function testBuildLike( $array, $sqlText ) {
$this->assertEquals( trim( $this->database->buildLike(
@ -633,6 +648,7 @@ class DatabaseSQLTest extends MediaWikiTestCase {
/**
* @dataProvider provideUnionQueries
* @covers DatabaseBase::unionQueries
*/
function testUnionQueries( $sql, $sqlText ) {
$this->assertEquals( trim( $this->database->unionQueries(
@ -667,24 +683,36 @@ class DatabaseSQLTest extends MediaWikiTestCase {
);
}
/**
* @covers DatabaseBase::commit
*/
function testTransactionCommit() {
$this->database->begin( __METHOD__ );
$this->database->commit( __METHOD__ );
$this->assertLastSql( 'BEGIN; COMMIT' );
}
/**
* @covers DatabaseBase::rollback
*/
function testTransactionRollback() {
$this->database->begin( __METHOD__ );
$this->database->rollback( __METHOD__ );
$this->assertLastSql( 'BEGIN; ROLLBACK' );
}
/**
* @covers DatabaseBase::dropTable
*/
function testDropTable() {
$this->database->setExistingTables( array( 'table' ) );
$this->database->dropTable( 'table', __METHOD__ );
$this->assertLastSql( 'DROP TABLE table' );
}
/**
* @covers DatabaseBase::dropTable
*/
function testDropNonExistingTable() {
$this->assertFalse(
$this->database->dropTable( 'non_existing', __METHOD__ )

View file

@ -27,6 +27,10 @@ class MockDatabaseSqlite extends DatabaseSqliteStandalone {
* @group medium
*/
class DatabaseSqliteTest extends MediaWikiTestCase {
/**
* @var MockDatabaseSqlite
*/
var $db;
protected function setUp() {
@ -83,6 +87,7 @@ class DatabaseSqliteTest extends MediaWikiTestCase {
/**
* @dataProvider provideAddQuotes()
* @covers DatabaseSqlite::addQuotes
*/
public function testAddQuotes( $value, $expected ) {
// check quoting
@ -105,6 +110,9 @@ class DatabaseSqliteTest extends MediaWikiTestCase {
}
}
/**
* @covers DatabaseSqlite::replaceVars
*/
public function testReplaceVars() {
$this->assertEquals( 'foo', $this->replaceVars( 'foo' ), "Don't break anything accidentally" );
@ -143,6 +151,9 @@ class DatabaseSqliteTest extends MediaWikiTestCase {
);
}
/**
* @covers DatabaseSqlite::tableName
*/
public function testTableName() {
// @todo Moar!
$db = new DatabaseSqliteStandalone( ':memory:' );
@ -153,6 +164,9 @@ class DatabaseSqliteTest extends MediaWikiTestCase {
$this->assertEquals( 'foobar', $db->tableName( 'bar' ) );
}
/**
* @covers DatabaseSqlite::duplicateTableStructure
*/
public function testDuplicateTableStructure() {
$db = new DatabaseSqliteStandalone( ':memory:' );
$db->query( 'CREATE TABLE foo(foo, barfoo)' );
@ -174,6 +188,9 @@ class DatabaseSqliteTest extends MediaWikiTestCase {
);
}
/**
* @covers DatabaseSqlite::duplicateTableStructure
*/
public function testDuplicateTableStructureVirtual() {
$db = new DatabaseSqliteStandalone( ':memory:' );
if ( $db->getFulltextSearchModule() != 'FTS3' ) {
@ -194,6 +211,9 @@ class DatabaseSqliteTest extends MediaWikiTestCase {
);
}
/**
* @covers DatabaseSqlite::deleteJoin
*/
public function testDeleteJoin() {
$db = new DatabaseSqliteStandalone( ':memory:' );
$db->query( 'CREATE TABLE a (a_1)', __METHOD__ );
@ -306,12 +326,18 @@ class DatabaseSqliteTest extends MediaWikiTestCase {
}
}
/**
* @covers DatabaseSqlite::insertId
*/
public function testInsertIdType() {
$db = new DatabaseSqliteStandalone( ':memory:' );
$this->assertInstanceOf( 'ResultWrapper',
$db->query( 'CREATE TABLE a ( a_1 )', __METHOD__ ), "Database creationg" );
$this->assertTrue( $db->insert( 'a', array( 'a_1' => 10 ), __METHOD__ ),
"Insertion worked" );
$databaseCreation = $db->query( 'CREATE TABLE a ( a_1 )', __METHOD__ );
$this->assertInstanceOf( 'ResultWrapper', $databaseCreation, "Database creation" );
$insertion = $db->insert( 'a', array( 'a_1' => 10 ), __METHOD__ );
$this->assertTrue( $insertion, "Insertion worked" );
$this->assertInternalType( 'integer', $db->insertId(), "Actual typecheck" );
$this->assertTrue( $db->close(), "closing database" );
}

View file

@ -5,7 +5,11 @@
* @group DatabaseBase
*/
class DatabaseTest extends MediaWikiTestCase {
var $db, $functionTest = false;
/**
* @var DatabaseBase
*/
var $db;
var $functionTest = false;
protected function setUp() {
parent::setUp();
@ -19,7 +23,9 @@ class DatabaseTest extends MediaWikiTestCase {
$this->functionTest = false;
}
}
/**
* @covers DatabaseBase::dropTable
*/
function testAddQuotesNull() {
$check = "NULL";
if ( $this->db->getType() === 'sqlite' || $this->db->getType() === 'oracle' ) {