fixed up the testing function

This commit is contained in:
Jonas Linter
2025-09-29 14:09:31 +02:00
parent 06739ebea9
commit 382bf2334a
2 changed files with 28 additions and 5 deletions

View File

@@ -1,3 +1,4 @@
import logging
from .alpinebits_guestrequests import ResGuest, RoomStay
from .generated import alpinebits as ab
from io import BytesIO
@@ -20,20 +21,40 @@ from .simplified_access import (
# DB and config
from .db import (
Base,
Customer as DBCustomer,
Reservation as DBReservation,
HashedCustomer,
get_async_session,
get_database_url,
)
from .config_loader import load_config
import hashlib
import json
import os
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession, async_sessionmaker
import asyncio
from alpine_bits_python import db
# Configure logging
logging.basicConfig(level=logging.INFO)
_LOGGER = logging.getLogger(__name__)
async def setup_db(config):
DATABASE_URL = get_database_url(config)
engine = create_async_engine(DATABASE_URL, echo=True)
AsyncSessionLocal = async_sessionmaker(engine, expire_on_commit=False)
# Create tables
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
_LOGGER.info("Database tables checked/created at startup.")
return engine, AsyncSessionLocal
async def main():
print("🚀 Starting AlpineBits XML generation script...")
@@ -58,12 +79,14 @@ async def main():
print(f"Deleted existing SQLite DB at {db_path} for clean testing.")
# # Ensure DB schema is created (async)
from .db import engine, Base
engine, AsyncSessionLocal = await setup_db(config)
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
async for db in get_async_session():
async with AsyncSessionLocal() as db:
# Load data from JSON file
json_path = os.path.join(
os.path.dirname(__file__),