parametrize db connection, with tests

This commit is contained in:
quimnuss 2023-02-11 20:59:53 +01:00
pare 298d8cb9c2
commit f0ef8cd43f
S'han modificat 3 arxius amb 28 adicions i 10 eliminacions

Veure arxiu

@ -0,0 +1,3 @@
fediverse_db: fediverse_test
fediverse_db_user: tester
fediverse_db_user_password: tester

Veure arxiu

@ -6,7 +6,6 @@ from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT
import uuid
from datetime import datetime
import pytz
import pdb
tz = pytz.timezone('Europe/Madrid')
@ -14,12 +13,14 @@ class Database():
name = 'fediverse database library'
def __init__(self, config_file=None, fediverse_db=None, fediverse_db_user=None, fediverse_db_user_password=None):
def __init__(self, config_file=None, fediverse_db=None, fediverse_db_user=None, fediverse_db_user_password=None, fediverse_db_host='/var/run/postgresql', fediverse_db_port='6432'):
self.config_file = config_file or "config/db_config.txt"
self.fediverse_db = fediverse_db or self.__get_parameter("fediverse_db", self.config_file)
self.fediverse_db_user = fediverse_db_user or self.__get_parameter("fediverse_db_user", self.config_file)
self.fediverse_db_user_password = fediverse_db_user_password or self.__get_parameter("fediverse_db_user_password", self.config_file)
self.fediverse_db_host = fediverse_db_host
self.fediverse_db_port = fediverse_db_port
db_setup = self.__check_dbsetup(self)
@ -43,7 +44,7 @@ class Database():
try:
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = "/var/run/postgresql", port = "6432")
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = self.fediverse_db_host, port = self.fediverse_db_port)
cur = conn.cursor()
@ -73,7 +74,7 @@ class Database():
try:
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = "/var/run/postgresql", port = "6432")
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = self.fediverse_db_host, port = self.fediverse_db_port)
cur = conn.cursor()
@ -743,7 +744,7 @@ class Database():
conn = None
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = "/var/run/postgresql", port = "6432")
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = self.fediverse_db_host, port = self.fediverse_db_port)
cur = conn.cursor()
@ -787,7 +788,7 @@ class Database():
conn = None
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = "/var/run/postgresql", port = "6432")
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = self.fediverse_db_host, port = self.fediverse_db_port)
cur = conn.cursor()
@ -935,6 +936,13 @@ class Database():
conn.close()
def check_connection(self):
try:
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = self.fediverse_db_host, port = self.fediverse_db_port)
finally:
conn.close()
@staticmethod
def __check_dbsetup(self):
@ -944,7 +952,7 @@ class Database():
conn = None
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = "/var/run/postgresql", port = "6432")
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = self.fediverse_db_host, port = self.fediverse_db_port)
db_setup = True
@ -1023,7 +1031,7 @@ class Database():
try:
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = "/var/run/postgresql", port = "6432")
conn = psycopg2.connect(database = self.fediverse_db, user = self.fediverse_db_user, password = self.fediverse_db_user_password, host = self.fediverse_db_host, port = self.fediverse_db_port)
cur = conn.cursor()

Veure arxiu

@ -1,8 +1,15 @@
from federation import Database
def test__database_connection():
db = Database(config_file='config/test_db_config.txt')
db = Database(config_file='config/test_db_config.txt', fediverse_db_host='localhost', fediverse_db_port='5432')
# noexcept
db.check_connection()
def test__database_connection__noservers():
db = Database(config_file='config/test_db_config.txt', fediverse_db_host='localhost', fediverse_db_port='5432')
checked_server = db.get_last_checked_servers()
assert checked_server
assert checked_server == []