Activate test mode for database
This commit is contained in:
parent
8ca0186409
commit
d71c3e0812
|
@ -720,7 +720,7 @@ function item_post(App $a) {
|
||||||
if ($return_path) {
|
if ($return_path) {
|
||||||
DI::baseUrl()->redirect($return_path);
|
DI::baseUrl()->redirect($return_path);
|
||||||
}
|
}
|
||||||
throw new HTTPException\InternalServerErrorException(DI::l10n()->t('Item wasn\'t stored. Last database error: %d %s', DBA::errorNo(), dba::errorMessage()));
|
throw new HTTPException\InternalServerErrorException(DI::l10n()->t('Item wasn\'t stored.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$datarray = Item::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post_id]);
|
$datarray = Item::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post_id]);
|
||||||
|
|
|
@ -21,8 +21,10 @@
|
||||||
|
|
||||||
namespace Friendica\Database;
|
namespace Friendica\Database;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
use Friendica\Core\Config\Cache;
|
use Friendica\Core\Config\Cache;
|
||||||
use Friendica\Core\System;
|
use Friendica\Core\System;
|
||||||
|
use Friendica\DI;
|
||||||
use Friendica\Network\HTTPException\InternalServerErrorException;
|
use Friendica\Network\HTTPException\InternalServerErrorException;
|
||||||
use Friendica\Util\DateTimeFormat;
|
use Friendica\Util\DateTimeFormat;
|
||||||
use Friendica\Util\Profiler;
|
use Friendica\Util\Profiler;
|
||||||
|
@ -63,6 +65,7 @@ class Database
|
||||||
private $affected_rows = 0;
|
private $affected_rows = 0;
|
||||||
protected $in_transaction = false;
|
protected $in_transaction = false;
|
||||||
protected $in_retrial = false;
|
protected $in_retrial = false;
|
||||||
|
protected $testmode = false;
|
||||||
private $relation = [];
|
private $relation = [];
|
||||||
|
|
||||||
public function __construct(Cache $configCache, Profiler $profiler, LoggerInterface $logger, array $server = [])
|
public function __construct(Cache $configCache, Profiler $profiler, LoggerInterface $logger, array $server = [])
|
||||||
|
@ -181,6 +184,10 @@ class Database
|
||||||
return $this->connected;
|
return $this->connected;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setTestmode(bool $test)
|
||||||
|
{
|
||||||
|
$this->testmode = $test;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Sets the logger for DBA
|
* Sets the logger for DBA
|
||||||
*
|
*
|
||||||
|
@ -630,6 +637,10 @@ class Database
|
||||||
$error = $this->error;
|
$error = $this->error;
|
||||||
$errorno = $this->errorno;
|
$errorno = $this->errorno;
|
||||||
|
|
||||||
|
if ($this->testmode) {
|
||||||
|
throw new Exception(DI::l10n()->t('Database error %d "%s" at "%s"', $errorno, $error, $this->replaceParameters($sql, $args)));
|
||||||
|
}
|
||||||
|
|
||||||
$this->logger->error('DB Error', [
|
$this->logger->error('DB Error', [
|
||||||
'code' => $this->errorno,
|
'code' => $this->errorno,
|
||||||
'error' => $this->error,
|
'error' => $this->error,
|
||||||
|
|
|
@ -71,6 +71,8 @@ class ApiTest extends DatabaseTest
|
||||||
/** @var Database $dba */
|
/** @var Database $dba */
|
||||||
$dba = $this->dice->create(Database::class);
|
$dba = $this->dice->create(Database::class);
|
||||||
|
|
||||||
|
$dba->setTestmode(true);
|
||||||
|
|
||||||
/** @var IConfig $config */
|
/** @var IConfig $config */
|
||||||
$this->config = $this->dice->create(IConfig::class);
|
$this->config = $this->dice->create(IConfig::class);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue