diff options
author | Andrey Andreev <narf@devilix.net> | 2018-03-22 15:48:55 +0100 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2018-03-22 15:48:55 +0100 |
commit | 71e647782764184e3aab4faffe6d99176758979f (patch) | |
tree | 74dbdd50a61cd5674915c144aca9ebbc00b235b8 /tests/mocks/database/db.php | |
parent | b12fbad77bd69ca0c7624a9094c29b7691ea6107 (diff) |
[ci skip] 3.1.8 release
Diffstat (limited to 'tests/mocks/database/db.php')
-rw-r--r-- | tests/mocks/database/db.php | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/tests/mocks/database/db.php b/tests/mocks/database/db.php deleted file mode 100644 index 00dd884b0..000000000 --- a/tests/mocks/database/db.php +++ /dev/null @@ -1,142 +0,0 @@ -<?php - -class Mock_Database_DB { - - /** - * @var array DB configuration - */ - private $config = array(); - - /** - * @var string DB driver name - */ - private static $dbdriver = ''; - - /** - * @var string DB sub-driver name - */ - private static $subdriver = ''; - - /** - * Prepare database configuration skeleton - * - * @param array DB configuration to set - * @return void - */ - public function __construct($config = array()) - { - $this->config = $config; - } - - /** - * Build DSN connection string for DB driver instantiate process - * - * @param string Group name - * @return string DSN Connection string - */ - public function set_dsn($group = 'default') - { - if ( ! isset($this->config[$group])) - { - throw new InvalidArgumentException('Group '.$group.' not exists'); - } - - self::$dbdriver = $this->config[$group]['dbdriver']; - if (isset($this->config[$group]['subdriver'])) - { - self::$subdriver = $this->config[$group]['subdriver']; - } - - $params = array( - 'dbprefix' => '', - 'pconnect' => FALSE, - 'db_debug' => FALSE, - 'cache_on' => FALSE, - 'cachedir' => '', - 'char_set' => 'utf8', - 'dbcollat' => 'utf8_general_ci', - 'swap_pre' => '', - 'stricton' => FALSE - ); - - $config = array_merge($this->config[$group], $params); - $dsnstring = empty($config['dsn']) ? FALSE : $config['dsn']; - $subdriver = empty($config['subdriver']) ? FALSE: $config['subdriver']; - $failover = empty($config['failover']) ? FALSE : $config['failover']; - - $dsn = $config['dbdriver'].'://'.$config['username'].':'.$config['password'] - .'@'.$config['hostname'].'/'.$config['database']; - - // Build the parameter - $other_params = array_slice($config, 6); - if ($dsnstring) $other_params['dsn'] = $dsnstring; - if ($subdriver) $other_params['subdriver'] = $subdriver; - if ($failover) $other_params['failover'] = $failover; - - return $dsn.'?'.http_build_query($other_params); - } - - /** - * Return a database config array - * - * @see ./config - * @param string Driver based configuration - * @return array - */ - public static function config($driver) - { - $dir = realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR; - return include($dir.'config'.DIRECTORY_SEPARATOR.$driver.'.php'); - } - - /** - * Main DB method wrapper - * - * @param string Group or DSN string - * @param bool - * @return object - */ - public static function DB($group, $query_builder = FALSE) - { - // Create dummy driver and builder files to "load" - the mocks have - // already triggered autoloading of the real files - $case = CI_TestCase::instance(); - $driver = self::$dbdriver; - $subdriver = self::$subdriver; - $case->ci_vfs_create(array( - 'DB_driver.php' => '', - 'DB_result.php' => '', - 'DB_forge.php' => '', - 'DB_query_builder.php' => '' - ), '', $case->ci_base_root, 'database'); - if (file_exists(SYSTEM_PATH.'database/drivers/'.$driver.'/'.$driver.'_driver.php')) - { - $case->ci_vfs_create(array( - $driver.'_driver.php' => '', - $driver.'_result.php' => '', - $driver.'_forge.php' => '' - ), '', $case->ci_base_root, 'database/drivers/'.$driver); - } - if ($subdriver) - { - $case->ci_vfs_create(array( - $driver.'_'.$subdriver.'_driver.php' => '', - $driver.'_'.$subdriver.'_forge.php' => '' - ), '', $case->ci_base_root, 'database/drivers/'.$driver.'/subdrivers'); - } - - include_once(SYSTEM_PATH.'database/DB.php'); - - try - { - $db = DB($group, $query_builder); - } - catch (Exception $e) - { - throw new RuntimeException($e->getMessage()); - } - - return $db; - } - -}
\ No newline at end of file |