|
|
@ -0,0 +1,59 @@ |
|
|
|
<?php |
|
|
|
|
|
|
|
/* |
|
|
|
* @copyright NetMonsters <team@netmonsters.ru> |
|
|
|
* @link http://netmonsters.ru |
|
|
|
* @package Majestic |
|
|
|
* @subpackage UnitTests |
|
|
|
* @since 2011-11-1 |
|
|
|
* |
|
|
|
* Unit tests for Db class |
|
|
|
*/ |
|
|
|
|
|
|
|
require_once dirname(__FILE__) . '/../../Registry.php'; |
|
|
|
require_once dirname(__FILE__) . '/../../Config.php'; |
|
|
|
require_once dirname(__FILE__) . '/../../model/Db.php'; |
|
|
|
|
|
|
|
class DbTest extends PHPUnit_Framework_TestCase |
|
|
|
{ |
|
|
|
|
|
|
|
/** |
|
|
|
* @expectedException Exception |
|
|
|
*/ |
|
|
|
public function testConnectNoParams() |
|
|
|
{ |
|
|
|
Db::connect(); |
|
|
|
} |
|
|
|
/** |
|
|
|
* @expectedException Exception |
|
|
|
* @expectedExceptionMessage Connection parameters must be an array |
|
|
|
*/ |
|
|
|
public function testConnectConfigNotArray() |
|
|
|
{ |
|
|
|
Db::connect('name', 'config'); |
|
|
|
} |
|
|
|
|
|
|
|
public function testConnectGlobalConfig() |
|
|
|
{ |
|
|
|
$this->getMock('DbDriver', array(), array(), 'MySQLiDriverGlobalConfMock'); |
|
|
|
Config::set('Db', array('global' =>array('hostname' => 'localhost', 'driver' => 'MySQLiDriverGlobalConfMock'))); |
|
|
|
Db::connect('global'); |
|
|
|
} |
|
|
|
|
|
|
|
public function testConnectWithConfigParam() |
|
|
|
{ |
|
|
|
$this->getMock('DbDriver', array(), array(), 'MySQLiDriverMock'); |
|
|
|
$driver = Db::connect('mysql', array('hostname' => 'localhost', 'driver' => 'MySQLiDriverMock')); |
|
|
|
$this->assertInstanceOf('DbDriver', $driver); |
|
|
|
} |
|
|
|
/** |
|
|
|
* @expectedException Exception |
|
|
|
* @expectedExceptionMessage Database driver must extends DbDriver |
|
|
|
*/ |
|
|
|
public function testConnectWithWrongDriver() |
|
|
|
{ |
|
|
|
$this->getMock('NotDbDriver', array(), array(), 'NoDbDriverMock'); |
|
|
|
$driver = Db::connect('nodb', array('hostname' => 'localhost', 'driver' => 'NoDbDriverMock')); |
|
|
|
} |
|
|
|
|
|
|
|
} |