]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/php/Nominatim/DBTest.php
add tests for new data invalidation functions
[nominatim.git] / test / php / Nominatim / DBTest.php
index e47919758a449175683fa5721d3ab75d1ec7fa38..1c6f763742e4062f77f28d9a09128a7d4a9da231 100644 (file)
@@ -1,9 +1,17 @@
 <?php
+/**
+ * SPDX-License-Identifier: GPL-2.0-only
+ *
+ * This file is part of Nominatim. (https://nominatim.org)
+ *
+ * Copyright (C) 2022 by the Nominatim developer community.
+ * For a full list of authors see the git log.
+ */
 
 namespace Nominatim;
 
-require_once(CONST_BasePath.'/lib/lib.php');
-require_once(CONST_BasePath.'/lib/DB.php');
+require_once(CONST_LibDir.'/lib.php');
+require_once(CONST_LibDir.'/DB.php');
 
 // subclassing so we can set the protected connection variable
 class NominatimSubClassedDB extends \Nominatim\DB
@@ -128,11 +136,13 @@ class DBTest extends \PHPUnit\Framework\TestCase
 
     public function testAgainstDatabase()
     {
-        if (getenv('UNIT_TEST_DSN') == false) $this->markTestSkipped('UNIT_TEST_DSN not set');
+        $unit_test_dsn = getenv('UNIT_TEST_DSN') != false ?
+                            getenv('UNIT_TEST_DSN') :
+                            'pgsql:dbname=nominatim_unit_tests';
 
         ## Create the database.
         {
-            $aDSNParsed = \Nominatim\DB::parseDSN(getenv('UNIT_TEST_DSN'));
+            $aDSNParsed = \Nominatim\DB::parseDSN($unit_test_dsn);
             $sDbname = $aDSNParsed['database'];
             $aDSNParsed['database'] = 'postgres';
 
@@ -142,7 +152,7 @@ class DBTest extends \PHPUnit\Framework\TestCase
             $oDB->exec('CREATE DATABASE ' . $sDbname);
         }
 
-        $oDB = new \Nominatim\DB(getenv('UNIT_TEST_DSN'));
+        $oDB = new \Nominatim\DB($unit_test_dsn);
         $oDB->connect();
 
         $this->assertTrue(
@@ -151,31 +161,11 @@ class DBTest extends \PHPUnit\Framework\TestCase
 
         # Tables, Indices
         {
-            $this->assertEmpty($oDB->getListOfTables());
             $oDB->exec('CREATE TABLE table1 (id integer, city varchar, country varchar)');
-            $oDB->exec('CREATE TABLE table2 (id integer, city varchar, country varchar)');
-            $this->assertEquals(
-                array('table1', 'table2'),
-                $oDB->getListOfTables()
-            );
-            $this->assertTrue($oDB->deleteTable('table2'));
-            $this->assertTrue($oDB->deleteTable('table99'));
-            $this->assertEquals(
-                array('table1'),
-                $oDB->getListOfTables()
-            );
 
             $this->assertTrue($oDB->tableExists('table1'));
             $this->assertFalse($oDB->tableExists('table99'));
             $this->assertFalse($oDB->tableExists(null));
-
-            $this->assertEmpty($oDB->getListOfIndices());
-            $oDB->exec('CREATE UNIQUE INDEX table1_index ON table1 (id)');
-            $this->assertEquals(
-                array('table1_index'),
-                $oDB->getListOfIndices()
-            );
-            $this->assertEmpty($oDB->getListOfIndices('table2'));
         }
 
         # select queries