Query/tests/core/db_test.php

150 lines
3.7 KiB
PHP
Raw Normal View History

<?php
/**
* Query
*
* Free Query Builder / Database Abstraction Layer
*
2012-04-20 13:17:39 -04:00
* @package Query
* @author Timothy J. Warren
* @copyright Copyright (c) 2012 - 2014
* @link https://github.com/aviat4ion/Query
2012-04-20 13:17:39 -04:00
* @license http://philsturgeon.co.uk/code/dbad-license
*/
// --------------------------------------------------------------------------
/**
* Parent Database Test Class
*/
2014-02-14 22:08:19 -05:00
abstract class DBTest extends Query_TestCase {
protected static $db = NULL;
2014-02-14 22:08:19 -05:00
abstract public function testConnection();
2014-02-25 13:47:35 -05:00
2012-04-24 14:00:44 -04:00
// --------------------------------------------------------------------------
public static function tearDownAfterClass()
{
self::$db = NULL;
}
2014-02-25 13:47:35 -05:00
2012-04-24 14:00:44 -04:00
// --------------------------------------------------------------------------
2014-02-14 22:08:19 -05:00
public function testGetTables()
{
$tables = self::$db->get_tables();
$this->assertTrue(is_array($tables));
2014-04-08 17:13:41 -04:00
$this->assertTrue( ! empty($tables));
}
2014-02-25 13:47:35 -05:00
2012-04-24 14:00:44 -04:00
// --------------------------------------------------------------------------
2014-02-14 22:08:19 -05:00
public function testGetSystemTables()
{
$tables = self::$db->get_system_tables();
$this->assertTrue(is_array($tables));
2014-04-08 17:13:41 -04:00
$this->assertTrue( ! empty($tables));
}
2014-04-08 17:13:41 -04:00
2012-04-24 14:00:44 -04:00
// --------------------------------------------------------------------------
2014-02-25 13:47:35 -05:00
2014-02-14 22:08:19 -05:00
public function testBackupData()
2012-04-18 16:28:12 -04:00
{
$this->assertTrue(is_string(self::$db->util->backup_data(array('create_delete', TRUE))));
2012-04-18 16:28:12 -04:00
}
2014-02-25 13:47:35 -05:00
// --------------------------------------------------------------------------
2014-02-25 13:47:35 -05:00
2014-02-14 22:08:19 -05:00
public function testGetColumns()
{
$cols = self::$db->get_columns('test');
$this->assertTrue(is_array($cols));
2014-04-08 17:13:41 -04:00
$this->assertTrue( ! empty($cols));
}
2014-02-25 13:47:35 -05:00
// --------------------------------------------------------------------------
2014-02-25 13:47:35 -05:00
2014-02-14 22:08:19 -05:00
public function testGetTypes()
{
$types = self::$db->get_types();
$this->assertTrue(is_array($types));
2014-04-08 17:13:41 -04:00
$this->assertTrue( ! empty($types));
}
2014-02-25 13:47:35 -05:00
// --------------------------------------------------------------------------
public function testGetFKs()
{
$expected = array(array(
'child_column' => 'ext_id',
'parent_table' => 'testconstraints',
'parent_column' => 'someid',
'update' => 'CASCADE',
'delete' => 'CASCADE'
));
$keys = self::$db->get_fks('testconstraints2');
$this->assertEqual($expected, $keys);
}
// --------------------------------------------------------------------------
public function testGetIndexes()
{
$keys = self::$db->get_indexes('test');
$this->assertTrue(is_array($keys));
}
// --------------------------------------------------------------------------
public function testGetViews()
{
$views = self::$db->get_views();
2014-04-28 16:41:46 -04:00
$expected = array('numbersview', 'testview');
$this->assertEqual($expected, array_values($views));
$this->assertTrue(is_array($views));
}
2014-04-28 16:41:46 -04:00
// --------------------------------------------------------------------------
public function testGetTriggers()
{
// @TODO standardize trigger output for different databases
$triggers = self::$db->get_triggers();
2014-04-28 16:41:46 -04:00
$this->assertTrue(is_array($triggers));
}
// --------------------------------------------------------------------------
public function testGetSequences()
{
$seqs = self::$db->get_sequences();
2014-04-28 16:41:46 -04:00
// Normalize sequence names
$seqs = array_map('strtolower', $seqs);
$expected = array('newtable_seq');
$this->assertTrue(is_array($seqs));
$this->assertEqual($expected, $seqs);
}
// --------------------------------------------------------------------------
public function testGetProcedures()
{
$procedures = self::$db->get_procedures();
2014-04-28 16:41:46 -04:00
$this->assertTrue(is_array($procedures));
}
// --------------------------------------------------------------------------
public function testGetFunctions()
{
$funcs = self::$db->get_functions();
2014-04-28 16:41:46 -04:00
$this->assertTrue(is_array($funcs));
}
}
// End of db_test.php