mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-14 18:37:58 +00:00
This is a exception to be thrown when the error occures because of bad user data. We don't want to print a full stack trace in these cases but just tell the user what went wrong.
33 lines
789 B
Python
33 lines
789 B
Python
"""
|
|
Tests for specialised conenction and cursor classes.
|
|
"""
|
|
import pytest
|
|
|
|
from nominatim.db.connection import connect
|
|
|
|
@pytest.fixture
|
|
def db(temp_db):
|
|
conn = connect('dbname=' + temp_db)
|
|
yield conn
|
|
conn.close()
|
|
|
|
|
|
def test_connection_table_exists(db, temp_db_cursor):
|
|
assert db.table_exists('foobar') == False
|
|
|
|
temp_db_cursor.execute('CREATE TABLE foobar (id INT)')
|
|
|
|
assert db.table_exists('foobar') == True
|
|
|
|
|
|
def test_cursor_scalar(db, temp_db_cursor):
|
|
temp_db_cursor.execute('CREATE TABLE dummy (id INT)')
|
|
|
|
with db.cursor() as cur:
|
|
assert cur.scalar('SELECT count(*) FROM dummy') == 0
|
|
|
|
def test_cursor_scalar_many_rows(db):
|
|
with db.cursor() as cur:
|
|
with pytest.raises(RuntimeError):
|
|
cur.scalar('SELECT * FROM pg_tables')
|