You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
postfixadmin/tests/bootstrap.php

82 lines
2.4 KiB
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) {
$db_file = dirname(__FILE__) . '/postfixadmin.sqlite.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);
var_dump('sqlite');
}
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_pass'] = $pass;
$CONF['database_host'] = $host;
$CONF['database_name'] = 'postfixadmin';
Config::write('database_type', 'pgsql');
Config::write('database_user', $user);
Config::write('database_pass', $pass);
Config::write('database_name', 'postfixadmin');
Config::write('database_host', $host);
var_dump('postgresql');
}
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' => 'localhost', 'password' => ''];
}
$CONF['database_type'] = 'mysql';
$CONF['database_user'] = $config['user'];
$CONF['database_pass'] = $config['password'];
$CONF['database_name'] = 'postfixadmin';
Config::write('database_type', 'mysql');
Config::write('database_user', $config['user']);
Config::write('database_pass', $config['password']);
Config::write('database_name', 'postfixadmin');
var_dump('mysql');
}
list($db, $error_text) = db_connect_with_errors();
if ($db === false) {
echo "failed to connect to database\n";
echo $error_text;
exit(1);
}
require_once(dirname(__FILE__) . '/../public/upgrade.php');