X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2d4063234ace0fe8df182442b352b4bc06f390e7..d3f7465ccad9cce6c84f0b089282c5ece550c5ed:/test/php/Nominatim/StatusTest.php?ds=inline diff --git a/test/php/Nominatim/StatusTest.php b/test/php/Nominatim/StatusTest.php index 4f21706e..f45e6633 100644 --- a/test/php/Nominatim/StatusTest.php +++ b/test/php/Nominatim/StatusTest.php @@ -2,6 +2,7 @@ namespace Nominatim; +require_once(CONST_BasePath.'/lib/DB.php'); require_once(CONST_BasePath.'/lib/Status.php'); @@ -22,19 +23,20 @@ class StatusTest extends \PHPUnit\Framework\TestCase public function testNoDatabaseConnectionFail() { $this->expectException(\Exception::class); - $this->expectExceptionMessage('No database'); + $this->expectExceptionMessage('Database connection failed'); $this->expectExceptionCode(700); - // causes 'Non-static method should not be called statically, assuming $this from incompatible context' - // failure on travis - // $oDB = \DB::connect('', false); // returns a DB_Error instance + $oDbStub = $this->getMockBuilder(Nominatim\DB::class) + ->setMethods(array('connect')) + ->getMock(); - $oDB = new \DB_Error; - $oStatus = new Status($oDB); - $this->assertEquals('No database', $oStatus->status()); + $oDbStub->method('connect') + ->will($this->returnCallback(function () { + throw new \Nominatim\DatabaseError('psql connection problem', 500, null, 'unknown database'); + })); - $oDB = null; - $oStatus = new Status($oDB); + + $oStatus = new Status($oDbStub); $this->assertEquals('No database', $oStatus->status()); } @@ -46,8 +48,8 @@ class StatusTest extends \PHPUnit\Framework\TestCase $this->expectExceptionCode(702); // stub has getOne method but doesn't return anything - $oDbStub = $this->getMockBuilder(\DB::class) - ->setMethods(array('getOne')) + $oDbStub = $this->getMockBuilder(Nominatim\DB::class) + ->setMethods(array('connect', 'getOne')) ->getMock(); $oStatus = new Status($oDbStub); @@ -61,8 +63,8 @@ class StatusTest extends \PHPUnit\Framework\TestCase $this->expectExceptionMessage('No value'); $this->expectExceptionCode(704); - $oDbStub = $this->getMockBuilder(\DB::class) - ->setMethods(array('getOne')) + $oDbStub = $this->getMockBuilder(Nominatim\DB::class) + ->setMethods(array('connect', 'getOne')) ->getMock(); // return no word_id @@ -79,8 +81,8 @@ class StatusTest extends \PHPUnit\Framework\TestCase public function testOK() { - $oDbStub = $this->getMockBuilder(\DB::class) - ->setMethods(array('getOne')) + $oDbStub = $this->getMockBuilder(Nominatim\DB::class) + ->setMethods(array('connect', 'getOne')) ->getMock(); $oDbStub->method('getOne') @@ -95,7 +97,7 @@ class StatusTest extends \PHPUnit\Framework\TestCase public function testDataDate() { - $oDbStub = $this->getMockBuilder(\DB::class) + $oDbStub = $this->getMockBuilder(Nominatim\DB::class) ->setMethods(array('getOne')) ->getMock();