← Back
Editing: bootstrap.php
<?php define('POSTFIXADMIN', 1); define('POSTFIXADMIN_CLI', 1); require_once(dirname(__FILE__) . '/../vendor/autoload.php'); require_once(dirname(__FILE__) . '/../common.php'); $CONF['default_language'] = 'en'; $CONF['language_hook'] = ''; if (getenv('DATABASE') == 'sqlite' || getenv('DATABASE') == false) { $version = PHP_VERSION_ID; // try and stop different tests running at the same trying to use the same sqlite db at once $db_file = dirname(__FILE__) . '/postfixadmin.sqlite.' . $version . '.test'; $CONF['database_type'] = 'sqlite'; $CONF['database_name'] = $db_file; Config::write('database_type', 'sqlite'); Config::write('database_name', $db_file); clearstatcache(); if (file_exists($db_file)) { unlink($db_file); } touch($db_file); error_log("Using: SQLite database for tests - $db_file"); } if (getenv('DATABASE') == 'postgresql') { $user = getenv('PGUSER') ?: 'postgres'; $pass = getenv('PGPASSWORD') ?: ''; $host = getenv('PGHOST') ?: 'localhost'; $CONF['database_type'] = 'pgsql'; $CONF['database_user'] = $user; $CONF['database_password'] = $pass; $CONF['database_host'] = $host; $CONF['database_name'] = 'postfixadmin'; Config::write('database_type', 'pgsql'); Config::write('database_user', $user); Config::write('database_password', $pass); Config::write('database_name', 'postfixadmin'); Config::write('database_host', $host); error_log("Using: PostgreSQL database for tests\n"); } if (getenv('DATABASE') == 'mysql') { $expand_tilde = function ($path) { if (function_exists('posix_getuid') && strpos($path, '~') !== false) { $info = posix_getpwuid(posix_getuid()); $path = str_replace('~', $info['dir'], $path); } return $path; }; $config = parse_ini_file($expand_tilde('~/.my.cnf')); if (empty($config)) { $config = ['user' => 'root', 'host' => '127.0.0.1', 'password' => '']; } if (isset($config['socket'])) { $CONF['database_socket'] = $config['socket']; Config::write('database_socket', $config['socket']); } else { $CONF['database_host'] = $config['host']; Config::write('database_host', $config['host']); } $CONF['database_type'] = 'mysql'; $CONF['database_user'] = $config['user']; $CONF['database_password'] = $config['password']; $CONF['database_name'] = 'postfixadmin'; Config::write('database_type', 'mysql'); Config::write('database_user', $config['user']); Config::write('database_password', $config['password']); Config::write('database_name', 'postfixadmin'); error_log("Using: MySQL database for tests"); } try { $db = db_connect(); } catch (Exception $e) { echo "failed to connect to database\n"; echo $e->getMessage(); exit(1); } require_once(dirname(__FILE__) . '/../public/upgrade.php');
Save File
Cancel