text-morph-shareen / src /backend /debug_db.py
shareen1's picture
Upload 28 files
8cef7ca verified
import sys
import os
# Add the backend directory to the Python path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '.')))
from db_connection import (
get_connection,
create_user_with_role,
validate_user,
get_user_id_and_role,
insert_summarizer_history,
update_summarizer_feedback,
get_summarizer_history,
insert_paraphrase_history,
update_paraphrase_feedback,
get_paraphrase_history,
get_all_users_with_roles
)
def run_db_tests():
print("--- Starting Database Debug Tests ---")
# Test 1: Create a dummy user (if not exists)
print("\n--- Test: User Creation and Login ---")
test_username = "testuser_debug"
test_password = "password123"
dummy_user_id = None
user_info = get_user_id_and_role(test_username)
if user_info:
print(f"User '{test_username}' already exists with ID: {user_info['id']} and role: {user_info['role']}")
dummy_user_id = user_info['id']
else:
print(f"Creating user '{test_username}'...")
if create_user_with_role("Test Debug", "test@debug.com", test_username, test_password, "user"):
print(f"User '{test_username}' created successfully.")
user_info = get_user_id_and_role(test_username)
if user_info:
dummy_user_id = user_info['id']
print(f"Retrieved new user ID: {dummy_user_id}")
else:
print("Failed to retrieve user ID after creation.")
else:
print("Failed to create user.")
# Test 2: Summarizer History Insertion (Logged-in user)
print("\n--- Test: Summarizer History (Logged-in) ---")
if dummy_user_id:
original_text_sum = "This is a long text for summarization testing."
summarized_text_sum = "This is a summary."
print(f"Inserting summarizer history for user ID: {dummy_user_id}")
sum_history_id = insert_summarizer_history(dummy_user_id, original_text_sum, summarized_text_sum)
print(f"Summarizer history ID: {sum_history_id}")
if sum_history_id:
print("Updating summarizer feedback (Like)...")
update_sum_like_status = update_summarizer_feedback(sum_history_id, True)
print(f"Update like status: {update_sum_like_status}")
print("Updating summarizer feedback (Text)...")
update_sum_text_status = update_summarizer_feedback(sum_history_id, None, "Good summary!")
print(f"Update text status: {update_sum_text_status}")
else:
print("Failed to insert summarizer history.")
else:
print("Skipping logged-in summarizer history test (no dummy user ID).")
# Test 3: Summarizer History Insertion (Logged-out user - user_id = None)
print("\n--- Test: Summarizer History (Logged-out) ---")
original_text_sum_anon = "Another text for anonymous summarization."
summarized_text_sum_anon = "Anonymous summary."
print(f"Inserting summarizer history for anonymous user (ID: None)")
sum_history_id_anon = insert_summarizer_history(None, original_text_sum_anon, summarized_text_sum_anon)
print(f"Anonymous summarizer history ID: {sum_history_id_anon}")
if sum_history_id_anon:
print("Updating anonymous summarizer feedback (Unlike)...")
update_sum_anon_unlike_status = update_summarizer_feedback(sum_history_id_anon, False)
print(f"Anonymous update unlike status: {update_sum_anon_unlike_status}")
else:
print("Failed to insert anonymous summarizer history.")
# Test 4: Paraphrase History Insertion (Logged-in user)
print("\n--- Test: Paraphrase History (Logged-in) ---")
if dummy_user_id:
original_text_para = "Original sentence for paraphrasing."
paraphrased_text_para = "A rephrased sentence for testing."
print(f"Inserting paraphrase history for user ID: {dummy_user_id}")
para_history_id = insert_paraphrase_history(dummy_user_id, original_text_para, paraphrased_text_para)
print(f"Paraphrase history ID: {para_history_id}")
if para_history_id:
print("Updating paraphrase feedback (Like)...")
update_para_like_status = update_paraphrase_feedback(para_history_id, True)
print(f"Update like status: {update_para_like_status}")
else:
print("Failed to insert paraphrase history.")
else:
print("Skipping logged-in paraphrase history test (no dummy user ID).")
# Test 5: Paraphrase History Insertion (Logged-out user - user_id = None)
print("\n--- Test: Paraphrase History (Logged-out) ---")
original_text_para_anon = "Another sentence for anonymous paraphrasing."
paraphrased_text_para_anon = "Anonymously rephrased text."
print(f"Inserting paraphrase history for anonymous user (ID: None)")
para_history_id_anon = insert_paraphrase_history(None, original_text_para_anon, paraphrased_text_para_anon)
print(f"Anonymous paraphrase history ID: {para_history_id_anon}")
if para_history_id_anon:
print("Updating anonymous paraphrase feedback (Text)...")
update_para_anon_text_status = update_paraphrase_feedback(para_history_id_anon, None, "Good paraphrase!")
print(f"Anonymous update text status: {update_para_anon_text_status}")
else:
print("Failed to insert anonymous paraphrase history.")
print("\n--- Database Debug Tests Finished ---")
if __name__ == "__main__":
run_db_tests()