forked from hans/Nominatim
set exception handler by request format, not always HTML
This commit is contained in:
committed by
Marc Tobias Metten
parent
2467e9996e
commit
e4a51e460e
@@ -2,14 +2,10 @@
|
||||
|
||||
namespace Nominatim;
|
||||
|
||||
require_once(CONST_BasePath.'/lib/init-website.php');
|
||||
require_once(CONST_BasePath.'/lib/AddressDetails.php');
|
||||
|
||||
|
||||
function chksql($oSql, $sMsg = 'Database request failed')
|
||||
{
|
||||
return $oSql;
|
||||
}
|
||||
|
||||
class AddressDetailsTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
|
||||
44
test/php/Nominatim/DatabaseErrorTest.php
Normal file
44
test/php/Nominatim/DatabaseErrorTest.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace Nominatim;
|
||||
|
||||
require_once(CONST_BasePath.'/lib/init-website.php');
|
||||
require_once(CONST_BasePath.'/lib/DatabaseError.php');
|
||||
|
||||
class DatabaseErrorTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
public function testSqlMessage()
|
||||
{
|
||||
$oSqlStub = $this->getMockBuilder(\DB_Error::class)
|
||||
->setMethods(array('getMessage'))
|
||||
->getMock();
|
||||
|
||||
$oSqlStub->method('getMessage')
|
||||
->willReturn('Unknown table.');
|
||||
|
||||
$oErr = new DatabaseError('Sql error', 123, null, $oSqlStub);
|
||||
$this->assertEquals('Sql error', $oErr->getMessage());
|
||||
$this->assertEquals(123, $oErr->getCode());
|
||||
$this->assertEquals('Unknown table.', $oErr->getSqlError());
|
||||
|
||||
// causes a circular reference warning during dump
|
||||
// $this->assertRegExp('/Mock_DB_Error/', $oErr->getSqlDebugDump());
|
||||
}
|
||||
|
||||
public function testSqlObjectDump()
|
||||
{
|
||||
$oErr = new DatabaseError('Sql error', 123, null, array('one' => 'two'));
|
||||
$this->assertRegExp('/two/', $oErr->getSqlDebugDump());
|
||||
}
|
||||
|
||||
public function testChksqlThrows()
|
||||
{
|
||||
$this->expectException(DatabaseError::class);
|
||||
$this->expectExceptionMessage('My custom error message');
|
||||
$this->expectExceptionCode(500);
|
||||
|
||||
$oDB = new \DB_Error;
|
||||
$this->assertEquals(false, chksql($oDB, 'My custom error message'));
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
namespace Nominatim;
|
||||
|
||||
require_once(CONST_BasePath.'/lib/lib.php');
|
||||
require_once(CONST_BasePath.'/lib/ClassTypes.php');
|
||||
|
||||
class LibTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Nominatim;
|
||||
|
||||
require_once(CONST_BasePath.'/lib/db.php');
|
||||
require_once(CONST_BasePath.'/lib/Status.php');
|
||||
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
namespace Nominatim;
|
||||
|
||||
require_once(CONST_BasePath.'/lib/db.php');
|
||||
require_once(CONST_BasePath.'/lib/cmd.php');
|
||||
// require_once(CONST_BasePath.'/lib/db.php');
|
||||
// require_once(CONST_BasePath.'/lib/cmd.php');
|
||||
require_once(CONST_BasePath.'/lib/TokenList.php');
|
||||
|
||||
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
<?php
|
||||
@define('CONST_BasePath', '../..');
|
||||
@define('CONST_Debug', true);
|
||||
@define('CONST_NoAccessControl', false);
|
||||
|
||||
Reference in New Issue
Block a user