PrivateBin/tst/privatebinWithDb.php

55 lines
1.3 KiB
PHP

<?php
use PrivateBin\data\db;
use PrivateBin\privatebin;
use PrivateBin\serversalt;
use PrivateBin\trafficlimiter;
require_once 'privatebin.php';
class privatebinWithDbTest extends privatebinTest
{
private $_options = array(
'usr' => null,
'pwd' => null,
'opt' => array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_PERSISTENT => true
),
);
private $_path;
public function setUp()
{
/* Setup Routine */
$this->_path = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'privatebin_data';
if (!is_dir($this->_path)) {
mkdir($this->_path);
}
$this->_options['dsn'] = 'sqlite:' . $this->_path . DIRECTORY_SEPARATOR . 'tst.sq3';
$this->_model = db::getInstance($this->_options);
$this->reset();
}
public function tearDown()
{
/* Tear Down Routine */
parent::tearDown();
helper::rmdir($this->_path);
}
public function reset()
{
parent::reset();
// but then inject a db config
$options = parse_ini_file(CONF, true);
$options['model'] = array(
'class' => 'privatebin_db',
);
$options['model_options'] = $this->_options;
helper::confBackup();
helper::createIniFile(CONF, $options);
}
}