#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sqlite3
import os
import requests
import time

print("Systades Anwendungstest")
print("=======================")

# Prüfen, ob die Datenbank existiert
db_path = 'systades.db'
if not os.path.exists(db_path):
    print(f"Datenbank {db_path} existiert nicht.")
    exit(1)

# Datenbankprüfung
conn = sqlite3.connect(db_path)
cursor = conn.cursor()

# Prüfen, ob die User-Tabelle existiert und Benutzer enthält
cursor.execute("SELECT COUNT(*) FROM user;")
user_count = cursor.fetchone()[0]
print(f"Anzahl der Benutzer in der Datenbank: {user_count}")

if user_count == 0:
    print("WARNUNG: Keine Benutzer in der Datenbank gefunden!")
    print("Bitte führen Sie das Skript 'create_default_users.py' aus, um Standardbenutzer zu erstellen.")
    conn.close()
    exit(1)

# Tabellenschema prüfen
cursor.execute("PRAGMA table_info(user);")
columns = cursor.fetchall()
column_names = [column[1] for column in columns]
print(f"Spalten in der User-Tabelle: {', '.join(column_names)}")

# Überprüfen, ob die password-Spalte existiert
if 'password' not in column_names:
    print("FEHLER: Die Spalte 'password' fehlt in der Tabelle 'user'!")
    print("Bitte führen Sie das Skript 'fix_user_table.py' aus, um die Datenbank zu reparieren.")
    conn.close()
    exit(1)

# Benutzer für Testlogin abrufen
cursor.execute("SELECT username, email FROM user LIMIT 1;")
test_user = cursor.fetchone()
if test_user:
    print(f"Testbenutzer für Login: {test_user[0]} (E-Mail: {test_user[1]})")
else:
    print("FEHLER: Konnte keinen Testbenutzer abrufen.")

conn.close()

print("\nDie Datenbank scheint korrekt konfiguriert zu sein.")
print("Sie können nun die Anwendung starten und sich mit den folgenden Zugangsdaten anmelden:")
print("  Admin: username=admin, password=admin")
print("  User:  username=user, password=user")
print("\nTest abgeschlossen.") 