"""
import pytest
-from nominatim.db.connection import connect
+from nominatim.db.connection import connect, get_pg_env
@pytest.fixture
def db(temp_db):
- conn = connect('dbname=' + temp_db)
- yield conn
- conn.close()
+ with connect('dbname=' + temp_db) as conn:
+ yield conn
def test_connection_table_exists(db, temp_db_cursor):
with db.cursor() as cur:
with pytest.raises(RuntimeError):
cur.scalar('SELECT * FROM pg_tables')
+
+
+def test_get_pg_env_add_variable(monkeypatch):
+ monkeypatch.delenv('PGPASSWORD', raising=False)
+ env = get_pg_env('user=fooF')
+
+ assert env['PGUSER'] == 'fooF'
+ assert 'PGPASSWORD' not in env
+
+
+def test_get_pg_env_overwrite_variable(monkeypatch):
+ monkeypatch.setenv('PGUSER', 'some default')
+ env = get_pg_env('user=overwriter')
+
+ assert env['PGUSER'] == 'overwriter'
+
+
+def test_get_pg_env_ignore_unknown():
+ env = get_pg_env('tty=stuff', base_env={})
+
+ assert env == {}