<?php
namespace cymapgt\core\utility\db\tests;
use cymapgt\core\utility\db\DB;
/**
* Generated by PHPUnit_SkeletonGenerator 1.2.1 on 2014-04-29 at 15:20:52.
*/
class DBTest extends \PHPUnit\Framework\TestCase {
/**
* @var DB
*/
protected $object;
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*/
protected function setUp(): void {
$dbParams = array (
'driver' => 'pdo_sqlite',
'path' => __DIR__ . '/files/db.test.sqlite'
);
$this->object = DB::connectDbNew($dbParams);
$sql = "DELETE FROM db_test WHERE 1";
$this->object->query($sql);
$sql = "INSERT INTO db_test (first_name, last_name) VALUES('Allesandro', 'Del Piero')";
$this->object->query($sql);
$sql = "INSERT INTO db_test (first_name, last_name) VALUES('Allesandro', 'Nesta')";
$this->object->query($sql);
$sql = "INSERT INTO db_test (first_name, last_name) VALUES('Andrea', 'Pirlo')";
$this->object->query($sql);
$sql = "INSERT INTO db_test (first_name, last_name) VALUES('Paolo', 'Maldini')";
$this->object->query($sql);
$sql = "INSERT INTO db_test (first_name, last_name) VALUES('Roberto', 'Baggio')";
$this->object->query($sql);
$sql = "INSERT INTO db_test (first_name, last_name) VALUES('Stephan', 'El Shaarawy')";
$this->object->query($sql);
}
/**
* Tears down the fixture, for example, closes a network connection.
* This method is called after a test is executed.
*/
protected function tearDown(): void {
}
/**
* @covers cymapgt\core\utility\db\DB::connectDb
* @todo Implement testConnect().
*/
public function testConnectDb() {
$sql = "SELECT id FROM db_test LIMIT 1";
$stmt = $this->object->query($sql);
$row = $stmt->fetch();
if(((int) ($row['id'])) > 0) {
$idIsInt = true;
} else {
$idIsInt = false;
}
$this->assertEquals(true, $idIsInt);
}
/**
* @covers cymapgt\core\utility\db\DB::connectDbNew
* @todo Implement testConnectNew().
*/
public function testConnectDbNew() {
$sql = "SELECT id FROM db_test LIMIT 1";
$stmt = $this->object->query($sql);
$row = $stmt->fetch();
if(((int) ($row['id'])) > 0) {
$idIsInt = true;
} else {
$idIsInt = false;
}
$this->assertEquals(true, $idIsInt);
}
/**
* @covers cymapgt\core\utility\db\DB::setDbType
*/
public function testSetDbType() {
DB::setDbType('sqlite');
$this->assertEquals('sqlite', DB::getDbType());
}
/**
* @covers cymapgt\core\utility\db\DB::setDbType
* @expectedException \cymapgt\Exception\DBException
*/
public function testSetDbTypeException() {
DB::setDbType('unsupporteddb');
}
/**
* @covers cymapgt\core\utility\db\DB::validateDbParameters
* @expectedException \cymapgt\Exception\DBException
* @expectedExceptionMessage One or more default parameters for DB connection not set
*/
public function testValidateDbParameters() {
$dbParams = array();
DB::validateDbParameters($dbParams);
}
/**
*@covers cymapgt\core\utility\db\DB::sanitizeDbParameters
*/
public function testSanitizeDbParameters() {
$dbParams = array (
'driver' => 'pdo_sqlite',
'path' => __DIR__ . 'files/db.test.sqlite',
'user' => ''
);
DB::setDbType('sqlite');
$dbParamsSanitized = DB::sanitizeDbParameters($dbParams);
$this->assertEquals(false, isset($dbParamsSanitized['user']));
}
/**
* @covers cymapgt\core\utility\db\DB::closeDbConnection
* @todo Implement testClose().
*/
public function testCloseDbConnection() {
$this->assertEquals(null, DB::closeDbConnection());
}
}
|