[TEST] use clean db in postgres tests (#1928)
This commit is contained in:
parent
bda054415a
commit
c29e7a1759
2 changed files with 37 additions and 2 deletions
|
|
@ -7,8 +7,12 @@ import time
|
|||
from subprocess import PIPE, Popen, TimeoutExpired
|
||||
from typing import Tuple
|
||||
|
||||
import psycopg2
|
||||
from loguru import logger
|
||||
from sqlalchemy.engine.url import make_url
|
||||
|
||||
from lnbits import core
|
||||
from lnbits.db import DB_TYPE, POSTGRES
|
||||
from lnbits.wallets import get_wallet_class, set_wallet_class
|
||||
|
||||
|
||||
|
|
@ -131,3 +135,28 @@ def pay_onchain(address: str, sats: int) -> str:
|
|||
cmd = docker_bitcoin_cli.copy()
|
||||
cmd.extend(["sendtoaddress", address, str(btc)])
|
||||
return run_cmd(cmd)
|
||||
|
||||
|
||||
def clean_database(settings):
|
||||
if DB_TYPE == POSTGRES:
|
||||
db_url = make_url(settings.lnbits_database_url)
|
||||
|
||||
conn = psycopg2.connect(settings.lnbits_database_url)
|
||||
conn.autocommit = True
|
||||
with conn.cursor() as cur:
|
||||
try:
|
||||
cur.execute("DROP DATABASE lnbits_test")
|
||||
except psycopg2.errors.InvalidCatalogName:
|
||||
pass
|
||||
cur.execute("CREATE DATABASE lnbits_test")
|
||||
|
||||
db_url.database = "lnbits_test"
|
||||
settings.lnbits_database_url = str(db_url)
|
||||
|
||||
core.db.__init__("database")
|
||||
|
||||
conn.close()
|
||||
else:
|
||||
# FIXME: do this once mock data is removed from test data folder
|
||||
# os.remove(settings.lnbits_data_folder + "/database.sqlite3")
|
||||
pass
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue