2024-06-04 05:13:55 +00:00
|
|
|
<?php declare(strict_types=1);
|
2016-07-21 15:09:48 +00:00
|
|
|
|
2016-08-09 09:54:42 +00:00
|
|
|
use PrivateBin\Data\Database;
|
2021-06-09 05:47:40 +00:00
|
|
|
use PrivateBin\Persistence\ServerSalt;
|
|
|
|
use PrivateBin\Persistence\TrafficLimiter;
|
2016-07-21 15:09:48 +00:00
|
|
|
|
2018-07-29 13:17:35 +00:00
|
|
|
require_once 'ControllerTest.php';
|
2015-10-03 13:52:37 +00:00
|
|
|
|
2018-07-29 13:17:35 +00:00
|
|
|
class ControllerWithDbTest extends ControllerTest
|
2015-10-03 13:52:37 +00:00
|
|
|
{
|
|
|
|
private $_options = array(
|
|
|
|
'usr' => null,
|
|
|
|
'pwd' => null,
|
|
|
|
'opt' => array(
|
2016-10-29 08:24:08 +00:00
|
|
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
|
|
PDO::ATTR_PERSISTENT => true,
|
2015-10-03 13:52:37 +00:00
|
|
|
),
|
|
|
|
);
|
|
|
|
|
2020-10-10 10:22:20 +00:00
|
|
|
public function setUp(): void
|
2015-10-03 13:52:37 +00:00
|
|
|
{
|
|
|
|
/* Setup Routine */
|
2016-07-15 15:02:59 +00:00
|
|
|
$this->_path = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'privatebin_data';
|
2016-07-26 06:19:35 +00:00
|
|
|
if (!is_dir($this->_path)) {
|
|
|
|
mkdir($this->_path);
|
|
|
|
}
|
2016-07-18 12:47:32 +00:00
|
|
|
$this->_options['dsn'] = 'sqlite:' . $this->_path . DIRECTORY_SEPARATOR . 'tst.sq3';
|
2022-10-27 23:01:02 +00:00
|
|
|
$this->_data = new Database($this->_options);
|
2021-06-09 05:47:40 +00:00
|
|
|
ServerSalt::setStore($this->_data);
|
|
|
|
TrafficLimiter::setStore($this->_data);
|
2015-10-03 13:52:37 +00:00
|
|
|
$this->reset();
|
|
|
|
}
|
|
|
|
|
|
|
|
public function reset()
|
|
|
|
{
|
|
|
|
parent::reset();
|
|
|
|
// but then inject a db config
|
2016-10-29 08:24:08 +00:00
|
|
|
$options = parse_ini_file(CONF, true);
|
2015-10-03 13:52:37 +00:00
|
|
|
$options['model'] = array(
|
2016-08-09 09:54:42 +00:00
|
|
|
'class' => 'Database',
|
2015-10-03 13:52:37 +00:00
|
|
|
);
|
2017-11-13 21:05:29 +00:00
|
|
|
$options['model_options'] = $this->_options;
|
2016-08-09 09:54:42 +00:00
|
|
|
Helper::createIniFile(CONF, $options);
|
2015-10-03 13:52:37 +00:00
|
|
|
}
|
2016-07-11 12:15:20 +00:00
|
|
|
}
|